web-dev-qa-db-ja.com

C#メトロスタイルのIsSubclassOfまたはIsAssignableFromの代替

C#メトロスタイルのIsSubclassOfまたはIsAssignableFromに代わるものはありますか?

このコードをMetroで実行しようとしていますが、代替手段が見つかりません。

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

リフレクションメソッドの多くは、System.Reflection.TypeInfoクラスにあります。

System.Reflection.IntrospectionExtensionsが提供するTypeInfo拡張メソッドを使用して、TypeGetTypeInfoのインスタンスを取得できます。

using System.Reflection;

// ...

ui.GetType().GetTypeInfo().IsSubclassOf(type)
55
James McNellis

あなたはこれを使うことができます:

using System.Reflection;

// ...

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

これはMetroで機能します。

17
Rhett