質問

どのように実装しますか IEqualityComparer このクラスのために?

IDプロパティは一意ではありません。どちらのプロパティも一意の値を持っていません。

エンティティには7つのプロパティがあります。

[Serializable()]
public class ServidorSeleccionadoDto
{
    [XmlAttribute()]
    public int Id { get; set; }

    [XmlAttribute()]
    public string Nombre { get; set; }

    [XmlAttribute()]
    public string IP { get; set; }

    [XmlAttribute()]
    public string Entorno { get; set; }

    [XmlAttribute()] // [XmlIgnore()]
    public string Habilitado { get; set; }

    [XmlAttribute()]
    public string Tipo { get; set; }

    [XmlAttribute()]
    public int IdGrupo { get; set; }
}
役に立ちましたか?

解決

オブジェクトにはIDフィールドがあるようです。これが各オブジェクトに固有の場合は、そのプロパティを比較するだけです。

public Boolean Equals(ServidorSeleccionadoDto obj)
{
   return this.ID == obj.ID;
}

注:これは、IDが一意である場合にのみ機能します。


IDプロパティが一意でない場合は、すべてのオブジェクトプロパティを比較する必要があります。

public Boolean Equals(ServidorSeleccionadoDto obj)
{
    return this.ID == obj.ID && 
           this.Nombre.Equals(obj.Nombre) && 
           ... etc
}
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top