Вместо использования функции Contains
вы можете использовать функцию All
и проверить соответствующие свойства, чтобы определить, является ли это существующим элементом.
if (_dataCells.All(x => x.Selection.Property != _excel.Selection.Property))
{
_dataCells.Add(_excel.Selection);
}
Другой способ решить эту проблему - это реализовать функцию Equals
. См. здесь для более подробного объяснения.
public class Selection : IEquatable<Selection>
{
...
public override bool Equals(Selection selection)
{
return selection != null && this.Property == selection.Property;
}
}