// XamlTypeInfoProvider
::Windows::UI::Xaml::Markup::IXamlType^ ::XamlTypeInfo::InfoProvider::XamlTypeInfoProvider::GetXamlTypeByType(::Windows::UI::Xaml::Interop::TypeName type)
{
    auto xamlType = GetXamlTypeByName(type.Name);
    ::XamlTypeInfo::InfoProvider::XamlUserType^ userXamlType = dynamic_cast<::XamlTypeInfo::InfoProvider::XamlUserType^>(xamlType);
    if (xamlType == nullptr || (userXamlType != nullptr && userXamlType->IsReturnTypeStub && !userXamlType->IsLocalType))
    {
        ::Windows::UI::Xaml::Markup::IXamlType^ libXamlType = CheckOtherMetadataProvidersForType(type);
        if (libXamlType != nullptr)
        {
            if(libXamlType->IsConstructible || xamlType == nullptr)
            {
                xamlType = libXamlType;
            }
        }
    }
            return xamlType;
}
Ejemplo n.º 2
0
// XamlTypeInfoProvider
::Windows::UI::Xaml::Markup::IXamlType^ ::XamlTypeInfo::InfoProvider::XamlTypeInfoProvider::GetXamlTypeByType(::Windows::UI::Xaml::Interop::TypeName type)
{
    auto xamlType = GetXamlTypeByName(type.Name);
            return xamlType;
}