C#Metro风格的IsSubclassOf或IsAssignableFrom的任何替代方案

时间:2012-01-04 16:10:49

标签: c# .net reflection windows-runtime microsoft-metro

C#Metro风格的IsSubclassOfIsAssignableFrom是否有其他选择?

我正在尝试让这段代码在Metro上运行但无法找到替代方案。

if ((ui.GetType() == type) || (ui.GetType().IsSubclassOf(type)))
{
    return true;
}

2 个答案:

答案 0 :(得分:55)

许多反射方法都可以在System.Reflection.TypeInfo类中找到。

您可以使用TypeInfo提供的Type扩展方法为GetTypeInfo获取System.Reflection.IntrospectionExtensions的实例:

using System.Reflection;

// ...

ui.GetType().GetTypeInfo().IsSubclassOf(type)

答案 1 :(得分:16)

您可以使用:

using System.Reflection;

// ...

ui.GetTypeInfo().IsAssignableFrom(type.GetTypeInfo());

这适用于Metro。