C# で次のようなことをしたい:
public bool ValidType(Type type)
{
return _someVar is type;
}
ただし、C# はこの構文をサポートしていないようです。「is」の右側の項目は、型への参照ではなく、絶対型名でなければならないようです。
次のコードが機能しているように見えることがわかりました。
return _someVar.GetType().IsInstanceOfType(type) ||
_someVar.GetType().IsSubclassOf(type) ||
_SomeVar.GetType().IsAssignableFrom(type);
すべてのケースに適切に一致していないようにIsAssignableFrom
見えるため、一部の型比較で必要と思われることを除いて、何が機能するのかわかりません。IsInstanceOfType
IsSubclassOf
これは、変数が別の変数によって参照されているタイプのものであることをテストするための本当に最良の方法ですか、それとも私が見逃したより単純な構文がありますか?