如何比较PropertyInfo类型

本文关键字:PropertyInfo 类型 比较 何比较 | 更新日期: 2023-09-27 18:10:55

我用

比较两种PropertyInfo类型
if(p1.GetType() == p2.GetType())
{
     // same type
}

我的问题是,当p1System.Collections.Generic.ICollection类型,p2System.String类型时,这是正确的。

正确的比较方法是什么?

如何比较PropertyInfo类型

调用p1.GetType()将获得typeof(PropertyInfo),因为这当然是对象的类型。

如果你想知道属性是什么类型,你可以使用p1.PropertyType: https://msdn.microsoft.com/pl-pl/library/3893z9ey(v=vs.110).aspx

所以你的代码将是:
if(p1.PropertyType == p2.PropertyType) 
{
    // some code
}