IEqualityComparer für die Klasse mit vielen Eigenschaften weder eindeutigen Wert
-
28-09-2019 - |
Frage
Wie Implementierung für IEqualityComparer
für diese Klasse?
Die ID-Eigenschaft ist nicht eindeutig. Weder Eigenschaften haben eindeutige Werte.
Das Unternehmen verfügt über 7 Eigenschaften.
[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; }
}
Lösung
Es sieht aus wie Ihr Objekt ein ID-Feld hat. Wenn dies ist einzigartig für jedes Objekt dann würden Sie brauchen nur auf diese Eigenschaft zu vergleichen.
public Boolean Equals(ServidorSeleccionadoDto obj)
{
return this.ID == obj.ID;
}
. Hinweis: Dies würde nur funktionieren, wenn ID ist einzigartig
Wenn die ID-Eigenschaft nicht eindeutig ist, müssen Sie alle Ihre Objekte Eigenschaften vergleichen.
public Boolean Equals(ServidorSeleccionadoDto obj)
{
return this.ID == obj.ID &&
this.Nombre.Equals(obj.Nombre) &&
... etc
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow