IequalityComparer для класса со многими свойствами не уникальная ценность
-
28-09-2019 - |
Вопрос
Как реализация для IEqualityComparer
Для этого класса?
Свойство ID не является уникальным. Ни одно недвижимость не имеет уникальных значений.
Сущность имеет 7 свойств.
[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; }
}
Решение
Похоже, ваш объект имеет идентификатор поле. Если это уникально для каждого объекта, то вам нужно было бы только сравнить на этом свойстве.
public Boolean Equals(ServidorSeleccionadoDto obj)
{
return this.ID == obj.ID;
}
Примечание. Это будет работать только, если идентификатор уникален.
Если свойство ID не является уникальным, вам нужно сравнить все свойства ваших объектов.
public Boolean Equals(ServidorSeleccionadoDto obj)
{
return this.ID == obj.ID &&
this.Nombre.Equals(obj.Nombre) &&
... etc
}
Не связан с StackOverflow