【发布时间】:2018-07-25 09:00:23
【问题描述】:
我正在尝试实现 ICustomPropertyProvider::Type() 方法,但是我找不到获取 C++/WinRT 类型的 TypeName 的方法。显然您在 C++/CX 中有 Object::GetType 和 T::typeid,但在 C++/WinRT 中没有。
我尝试了以下代码,但这只是一个疯狂的猜测,因为它是我能找到的唯一与类型有远程关系的东西。我认为typeid() 与 XAML 无关,因为它提供的唯一保证是它返回的字符串是唯一标识。
using namespace Windows::Devices::Enumeration;
using namespace Windows::UI::Xaml::Interop;
TypeName name;
name.Name = typeid(DeviceInformation).name();
name.Kind = TypeKind::Metadata;
【问题讨论】:
-
typeid()保证是唯一的;它返回的字符串(通过name())可以是任何东西。不要依赖它做任何事情。