属性的值,我认为我有拳击发出比较在两种情况下
foreach(var p in item.GetType().GetProperties().
Where(p => p.GetValue(original, null) is ValueType))
{
var originalValue = p.GetValue(original, null);
var modifiedValue = p.GetValue(item, null);
if (!originalValue.Equals(modifiedValue))
kvpData.AppendFormat("{0}={1}&", p.Name, originalValue);
}
originalValue
是永远等于modifiedValue
,即时猜测那是因为他们在里面对象盒装。但是,我该如何解决它?
这些属性是什么类型? – 2012-03-20 14:53:07
请显示一个简短但完整的程序来演示问题。 – 2012-03-20 14:53:19
您确定原始文件和项目是不同的实例并具有不同的属性值吗?我尝试了使用简单对象的方法,如'var original = new TestObject(){Test = 1}; var item = new TestObject(){Test = 2};'它起作用。 – Nikolay 2012-03-20 14:56:38