Pregunta

¿Cómo hacer aplicación para IEqualityComparer para esta clase?

La propiedad ID no es única. Ni propiedades tiene valores únicos.

La entidad tiene 7 propiedades.

[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; }
}
¿Fue útil?

Solución

Parece que el objeto tiene un campo de ID. Si esto es única para cada objeto, después, sólo tendría que comparar en esa propiedad.

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

Nota:. Esto haría si sólo el trabajo de identificación es única


Si la propiedad ID no es único que se necesita para comparar todos los objetos de propiedades.

public Boolean Equals(ServidorSeleccionadoDto obj)
{
    return this.ID == obj.ID && 
           this.Nombre.Equals(obj.Nombre) && 
           ... etc
}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top