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

C#Metro风格的IsSubclassOf或IsAssignableFrom的任何替代方案,c#,.net,reflection,windows-runtime,microsoft-metro,C#,.net,Reflection,Windows Runtime,Microsoft Metro,对于C#Metro风格的IsSubclassOf或IsAssignableFrom,是否有其他选择 我试图让这段代码在Metro上运行,但找不到替代方案 if ((ui.GetType() == type) || (ui.GetType().IsSubclassOf(type))) { return true; } 许多反射方法可以在System.reflection.TypeInfo类中找到 您可以使用System.Reflection.IntrospectionExtensions

对于C#Metro风格的
IsSubclassOf
IsAssignableFrom
,是否有其他选择

我试图让这段代码在Metro上运行,但找不到替代方案

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

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

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

using System.Reflection;

// ...

ui.GetType().GetTypeInfo().IsSubclassOf(type)
您可以使用以下选项:

using System.Reflection;

// ...

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

这适用于Metro。

Metro风格的windows 8.net framework中没有许多反射方法。这就是我寻找替代品的原因。但我认为没有其他选择,所以似乎必须在显式类型中使用“is”或“as”。@MichaelSync:我不明白你为什么说没有其他选择。
TypeInfo
不适合您吗?如果没有,为什么不呢?请看metro.net参考。。那里缺少很多种类……你到底在找什么?如果你不说你需要做什么,我帮不了你。您最初的问题是,
IsSubclassOf
IsAssignableFrom
是否有替代方案。。。答案是肯定的:它们存在于
TypeInfo
中。