IEqualityComparer per classe con molte proprietà né valore unico
-
28-09-2019 - |
Domanda
Come fare implementazione per IEqualityComparer
per questa classe?
La proprietà ID non è unica. Né proprietà ha valori univoci.
L'entità ha 7 immobili.
[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; }
}
Soluzione
Sembra che l'oggetto ha un campo ID. Se questo è unico per ogni oggetto allora si avrebbe solo bisogno di confrontare su quella proprietà.
public Boolean Equals(ServidorSeleccionadoDto obj)
{
return this.ID == obj.ID;
}
. Nota: questa sarebbe solo lavoro se ID è unico
Se la proprietà ID non riguardano solo si dovrà confrontare le proprietà tutti gli oggetti.
public Boolean Equals(ServidorSeleccionadoDto obj)
{
return this.ID == obj.ID &&
this.Nombre.Equals(obj.Nombre) &&
... etc
}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow