Question

Comment faire pour la mise en œuvre IEqualityComparer pour cette classe?

La propriété ID est pas unique. Ni propriétés a des valeurs uniques.

L'entité possède 7 propriétés.

[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; }
}
Était-ce utile?

La solution

Il semble que votre objet a un champ d'identification. Si cela est unique à chaque objet que vous auriez alors seulement besoin de comparer sur cette propriété.

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

Note:. Ce ne fonctionne que si ID est unique


Si la propriété ID n'est pas unique, vous aurez besoin de comparer toutes les propriétés de vos objets.

public Boolean Equals(ServidorSeleccionadoDto obj)
{
    return this.ID == obj.ID && 
           this.Nombre.Equals(obj.Nombre) && 
           ... etc
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top