WinRT 反射 (C++/CX)

2024-03-22

如何内省 C++/CX 中的对象?我知道如何获取其类名(使用 IInspectable),但我无法弄清楚如何获取其属性列表,或者如果我只有方法名称(字符串),则如何调用方法。我在这里和 Google 中搜索了答案,但我发现与 WinRT 的 .NET 层相关(System.Reflection 命名空间似乎在 C++/CX 中不可用)。


正如 svick 所暗示的,您获取类名(从 IInspectable::GetRuntimeClassName 检索),将其交给 RoGetMetaDataFile。这会返回一个I元数据导入2 http://msdn.microsoft.com/en-us/library/ms232953.aspx。现在打电话IMetaDataImport2::FindTypeDefByName http://msdn.microsoft.com/en-us/library/ms233290.aspx。这将返回一个 typedef 标记。现在打电话IMetaDataImport2::GetTypeDefProps http://msdn.microsoft.com/en-us/library/ms230143.aspx这将为您提供有关该类型的属性。

从 typedef 属性中,您可以检索其他信息 - 如果是接口/结构(或枚举),则枚举方法/字段,查找运行时类的类型(如果是接口或类)等。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

WinRT 反射 (C++/CX) 的相关文章

随机推荐

  • 如何将 PostGIS 添加到 PostgreSQL pgAdmin?

    我已经安装了 PostgreSQL 和 pgAdmin 但我想添加一个 PostGIS 服务器 以便我可以处理地理信息系统项目 我正在跟进本教程 http workshops boundlessgeo com postgis intro c
  • Windows 应用商店应用程序 UI 更新

    我正在为 Windows 8 编写一个 Windows Store App 玩具应用程序 它只有一个 xaml 页面 其中包含TextBlock 该页面的 MyTimer 类为DataContext this DataContext new
  • UITextView从底部开始

    我遇到了问题UI文本视图 我以前见过其他人也遇到过这个问题 但是每当我的应用程序在我的手机上加载时 所有UITextViews从文本的底部开始 我必须向上滚动 我已经尝试了多种解决方案 但我需要一个仅在情节提要上使用的解决方案 因为我有一些
  • dropzone.js 和 jquery 版本兼容性

    我最近在一些项目中使用 dropzone js 并配置选项没有问题 但在一个新项目中我使用的是由 Zend Framework 3 自动安装的最新版本的 jQuery 3 1 0 它似乎会导致一些问题与 dropzone js 版本 4 3
  • 如何在Tomcat(servlet容器)中监听套接字?

    我必须让网络应用程序监听套接字 服务器套接字 并处理套接字流 但该应用程序只是部署在 Tomcat 中 Tomcat 只是一个 servlet 容器 它没有 JCA 支持 并且在servlet线程中建立服务器套接字是不合理的 解决方案1 丑
  • ES6 中符号命名有约定吗?

    我正在摆弄 ES6 查看符号 与 Ruby 不同 例如你会写 symbol ES6符号似乎允许任何 标准 变量名 说实话 我觉得这很令人困惑 var privateProperty Symbol var obj obj privatePro
  • 我们应该在执行某些代码之前还是之后调用超类

    Android Studio 0 4 6 Hello 我这里有一个代码片段 我经常困惑 super 应该是第一行执行还是最后一行 通常 我将其作为第一次调用 以便可以在父类中设置默认属性 但是 我之前看过一些执行此操作的代码 我只是想知道这
  • Try Catch 无法与 PHP 中的 require_once 一起使用?

    我不能做这样的事吗 try require once includes functions php catch Exception e echo Message e gt getMessage echo Code e gt getCode
  • 如何在 Laravel 中使用 paginator::make() 在视图中显示结果集?

    我用过Paginator make对表中的记录进行分页 在视图中 我得到了分页链接 但每个链接都包含其中的所有记录 如何限制它perPage项目 datas Paginator make paginator count paginator
  • GCC中函数调用的参数求值顺序

    当我用谷歌搜索这个时 我总是得到关于评估顺序的线索 一般来说 评估顺序是未指定的 我知道参数评估顺序未指定C一般来说 我的问题是参数评估顺序gcc 从左到右还是从右到左 任何资源链接也将不胜感激 EDIT 消除问题中的歧义 嗯 我说的是当时
  • 使用配置文件添加 WSO2 IS Oauth / OpenId Connect 服务提供商

    我们目前在我们的环境中使用自动化流程 我们有 WSO2 5 3 0 我需要使用 XML 配置文件配置 Oauth2 Openid 服务提供程序 所有文档 示例等均面向 SAML2 而不是 Oauth2 OpenId 有人可以帮助我吗 目前您
  • 根据字符串长度过滤字符串数据

    我喜欢过滤掉字符串长度不等于10的数据 如果我尝试过滤掉其列的任何行A s or B的字符串长度不等于10 我尝试了这个 df pd read csv filex csv df A df A apply lambda x x if len
  • 如何在 Visual Studio 2017 Professional 中打开 ReactJS 项目

    我通过 create react app 和 yo office 命令创建了项目 https dev office com docs add ins excel excel add ins get started react https d
  • C++ 将ASII转义unicode字符串转换为utf8字符串

    我需要读取带有 unicode 转义的标准 ascii 样式字符串 并将其转换为包含 utf8 编码等效项的 std string 因此 例如 u03a0 具有 6 个字符的 std string 应转换为原始二进制文件中具有两个字符 分别
  • 将 Maven Java 编译器调试设置为 false 不会删除行号表?

    也许这是我缺乏理解 但我认为在 Maven Java 项目中执行此操作会禁用所有调试信息进入类文件
  • 为什么固定宽度元素不占用浮动元素旁边的空间?

    In this CodePen http codepen io nitinsavant pen qrvwQd the
  • Qt:以编程方式定义 Tab 键顺序

    我使用 Desinger 创建了 2 个小部件 Widget1 和 Widget2 每个小部件都定义了其 Tab 键顺序 第三个小部件 Widget3 以编程方式定义 并包含垂直布局中的上述 2 个小部件 在 symbian 非触摸设备上
  • C++ 中的舍入和往返数字

    我有一个类 它在内部将某个定点数表示为 32 位整数 分母有些任意 它既不是 2 的幂也不是 10 的幂 为了与其他应用程序通信 数量在输出时转换为普通的旧双精度 并在输入时转换回来 作为类内的代码 它看起来像 int32 t quanti
  • 如何在 C# 中从派生类实例调用基方法?

    我有 C 代码 基础class A并得出class B public class A public virtual void print Console WriteLine a public class B A public overrid
  • WinRT 反射 (C++/CX)

    如何内省 C CX 中的对象 我知道如何获取其类名 使用 IInspectable 但我无法弄清楚如何获取其属性列表 或者如果我只有方法名称 字符串 则如何调用方法 我在这里和 Google 中搜索了答案 但我发现与 WinRT 的 NET