Вы можете переопределить GetHashCode
, а затем создать хеш-код, который представляет собой смесь свойств объекта. Таким образом, ваша программа получит хеш-код объекта, сохранит его и затем при следующей проверке сравнит его с текущим хеш-кодом.
Очень упрощенный подход:
internal class Foo
{
public string Bar { get; set; }
public int Baaz { get; set; }
public override int GetHashCode()
{
return Bar.GetHashCode() - Baaz.GetHashCode();
}
}
Будьте осторожны , поскольку вы должны искать Bar
, не являясь null
, а также учитывать целочисленные переполнения.
EDIT
После просмотра блога Eirc Lippert ,
Я согласен, что GetHashCode не должен использоваться.
Я сохраняю ответ, чтобы сохранить богатствообсуждений.