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; }
}
War es hilfreich?

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
scroll top