C#:检查对象是否派生自Type对象描述的类

时间:2013-11-11 18:48:48

标签: c# inheritance reflection types

我有一个Type T,我通过assembly.GetType("namespace.TypeName")从一个程序集加载,并且收到一个未知类的object o来自不同的地方。

我需要检查o是否来自T

我试过了:

  • T.IsInstanceOfType(o),按照预期here
  • 无效
  • o is T,产生编译器错误'T' is a 'field' but a 'type' was expected

感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

查看IsAssignableFrom Method

Type t = ...
Object o = ...

bool isODerivedFromT = (o == null) || t.IsAssignableFrom(o.GetType());