假设Obj1
和Obj2
是同一个类的对象,并且该类只包含字段,如果该类的字段不是,则可以检查这两个对象是否具有相同的数据已知?
答案 0 :(得分:5)
var haveSameData = false;
foreach(PropertyInfo prop in Obj1.GetType().GetProperties())
{
haveSameData = prop.GetValue(Obj1, null).Equals(prop.GetValue(Obj2, null));
if(!haveSameData)
break;
}
这是基于假设(对象属于同一类型),并且可能会被重构以使其更具防御性, 但我保持它的可读性,这样你就能掌握我想要做的事情。
简而言之,使用反射迭代字段并检查每个字段的值,直到满意它们不匹配(此后不需要继续迭代)。
答案 1 :(得分:-4)
试试这个断言:
CollectionAssert.AreEqual(Obj1, Obj2);