动态等式检查类型对象的多个属性
我有一个类似的类型:
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));
}
但是我希望以这样的方式实现这个方法,它动态地检查所有现有属性(或者这种类型的某些属性)的相等性,而不显式地为上面的比较检查编写代码。
希望我能够清楚地表达我的问题。 :)
谢谢!
没有找到相关结果
已邀请:
2 个回复
裸雷胜檀哭
它确实需要比这更精细,但这应该有希望让你走上正确的轨道:)
蹄渭信妥扳
),您必须告诉他们如何认为是平等的。目前您正在使用不正确的引用等号。
应该是这样的:
并且
是一个类实现
来告诉如何检查两个
是否相等。