Я пытаюсь реализовать 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;
winrt::xaml_typename<Type>()
Шаблон функции — это то, что вам нужно.
Других решений пока нет …