我有一个问题,我想确定一个对象是否属于类型KeyValuePair<,>
当我比较时:
else if (item.GetType() == typeof(KeyValuePair<,>))
{
var key = item.GetType().GetProperty("Key");
var value = item.GetType().GetProperty("Value");
var keyObj = key.GetValue(item, null);
var valueObj = value.GetValue(item, null);
...
}
这是错误的,因为IsGenericTypeDefinition
对他们来说是不同的。
有人可以解释一下为什么会发生这种情况以及如何以正确的方式解决这个问题(我的意思是不比较名称或其他琐碎的字段。)
提前谢谢!