.net 如何将System.Reflection.PropertyInfo.PropertyType与System.Type进行比较

.net 如何将System.Reflection.PropertyInfo.PropertyType与System.Type进行比较,.net,vb.net,types,properties,system.reflection,.net,Vb.net,Types,Properties,System.reflection,我需要从一个类中列出所有属性。我尝试使用以下代码: 作为T的源的公共子FootSource source.GetType.GetProperties.ToList。 前置子项 如果item.PropertyType是GetTypeIEnumerableOf对象,则“执行某些操作” 如果TypeOf item.PropertyType是IEnumerableOf对象,则“执行某些操作” 如果item.PropertyType是GetTypeICollectionOf对象,则“执行某些操作” 如果T

我需要从一个类中列出所有属性。我尝试使用以下代码:

作为T的源的公共子FootSource source.GetType.GetProperties.ToList。 前置子项 如果item.PropertyType是GetTypeIEnumerableOf对象,则“执行某些操作” 如果TypeOf item.PropertyType是IEnumerableOf对象,则“执行某些操作” 如果item.PropertyType是GetTypeICollectionOf对象,则“执行某些操作” 如果TypeOf item.PropertyType是ICollectionOf Object,则“执行某些操作” 如果item.PropertyType是GetTypeIListOf对象,则“执行某些操作” 如果TypeOf item.PropertyType是IListOf对象,则“执行某些操作” 如果TypeOf item.PropertyType是ListOf Object,则“执行某些操作” 端接头 所有if子句都是假的。item.PropertyType属性包含System.Collections.Generic.List`1[MyNamespace.MyClass]

以下示例是正确的

如果MyNamespace.MyClass的新列表的TypeOf是IEnumerableOf对象,则“执行某些操作” 这也是错误的

如果MyNamespace.MyClass.GetType的新列表是GetTypeIEnumerableOf对象,则“执行某些操作” 第一个例子和第三个例子之间的区别是什么

谢谢您的回复。

您正在寻找