我使用
比较两种PropertyInfo
类型
if(p1.GetType() == p2.GetType())
{
// same type
}
我的问题是,当p1
类型为System.Collections.Generic.ICollection
且p2
为System.String
时,这会产生真实。
进行比较的正确方法是什么?
答案 0 :(得分:4)
调用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
}