我有一个类型:
class Order
{
public List<IItem> AllItems { get; set; }
public string Name { get; set; }
public double TotalPurchases { get; set; }
public long Amount { get; set; }
public int Code { get; set; }
}
我已经实现了IEquatable<T>
接口来检查这种类型的两个对象是否相同。当前Equals
方法如下所示:
public virtual bool Equals(Order other)
{
if ((object)other == null)
{
return false;
}
return (this.AllItems.Equals(other.AllItems)
&& this.Name.Equals(other.Name)
&& this.TotalPurchases.Equals(other.TotalPurchases)
&& this.Amount.Equals(other.Amount))
&& this.Code.Equals(other.Code));
}
但我希望以这样一种方式实现此方法,即它可以动态检查所有现有属性(或者可能是这种类型的某些属性)的相等性,而无需像上面那样显式编写用于比较检查的代码。
希望我能够清楚地表达我的问题。:)
谢谢!