IEqualityComparer pour la classe avec de nombreuses propriétés ni valeur unique
-
28-09-2019 - |
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; }
}
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