Я работаю с моделью домена и думал о различных способах реализации этих двух методов в .NET. Какова ваша предпочтительная стратегия?
Это моя текущая реализация:
public override bool Equals(object obj)
{
var newObj = obj as MyClass;
if (null != newObj)
{
return this.GetHashCode() == newObj.GetHashCode();
}
else
{
return base.Equals(obj);
}
}
//Since this is an entity I can use it´s Id
//When I don´t have an Id I usually make a composite key of the properties
public override int GetHashCode()
{
return String.Format("MyClass{0}", this.Id.ToString()).GetHashCode();
}