我该如何测试一个类型的属性是否为指定类型?
编辑:我的目标是检查一个程序集,看看其中是否有任何类型包含MyType(或从MyType继承)的属性。
以下是我所走过的路径...
AssemblyName n = new AssemblyName();
n.CodeBase = "file://" + dllName;
Assembly a = AppDomain.CurrentDomain.Load(n);
foreach (Type t in a.GetTypes())
foreach (PropertyInfo pi in t.GetProperties())
if ( pi.PropertyType is MyType ) // warning CS0184
Console.WriteLine("Found a property that is MyType");
这段代码编译时会提示警告 CS0184: 提供的表达式永远不是 'MyType' 类型。