,如果你願意,你可以使用反射,這裏是一個通用方法,您可以使用它比較任何兩個對象,無論它們是什麼類型:
public void CompareMyObjects(object object1, object object2)
{
var type1Fields = object1.GetType().GetProperties(BindingFlags.Instance | BindingFlags.Public | BindingFlags.GetProperty);
var type2Fields = object2.GetType().GetProperties(BindingFlags.Instance | BindingFlags.Public | BindingFlags.GetProperty);
var propsInCommon = type1Fields.Join(type2Fields, t1 => t1.Name, t2 => t2.Name, (t1, t2) => new { frstGetter = t1.GetGetMethod(), scndGetter = t2.GetGetMethod() });
foreach (var prop in propsInCommon)
{
Assert.AreEqual(prop.frstGetter.Invoke(object1, null), prop.scndGetter.Invoke(object2, null));
}
}
,你可以按如下方式使用方法:
CompareMyObjects(actualCustomer, _oCustomer);
CompareMyObjects(actualAccount, _account);
我希望幫助。
你試過了什麼?嘗試在您喜歡的網頁搜索引擎中輸入「C#對象相等」。如果您有適當的相等比較器,您可以執行'Assert.AreEqual(_Customer,actual)'。 – CodeCaster