Я пытаюсь реализовать метод ICustomPropertyProvider::Type()
, но не могу найти способ получить TypeName
типа C ++ / WinRT. Видимо у вас Object::GetType
и T::typeid
в C ++ / CX, но не в 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()
), может быть буквально чем угодно. Не надейтесь ни на что. - person Lightness Races in Orbit   schedule 15.02.2018