当我们将组合框的SelectedItem绑定到属性时,通常它将使用对象类型的Equals方法来确定应该在ComboBox视图中显示的所选项。 (例如,参见this question)
是否可以为此创建自己的比较器,而无需修改类'equals方法?我不想直接修改方法的原因是因为该类也用于业务逻辑,我不希望我的相等比较器影响使用相同类的其他东西
答案 0 :(得分:1)
我不想直接修改方法的原因是因为该类也用于业务逻辑,我不希望我的相等比较器影响使用同一类的其他东西
这通常表示需要的包装器:
public class Wrapper<T>
{
public override string ToString() { ... }
public override bool Equals(object obj) { ... }
public T UnderlyingRecord { get; set; }
}
通过这种方式,您可以正常进行,只有视图才会使用包装器对象。