Здравствуйте, SergASh, Вы писали:
SAS>Есть два примера реализации GetHashCode и Equals. Оба из решарпера, в разных местах он по-разному делает. Вопрос в чём разница.
второй вариант для анонимных может и годится, а для не sealed Person
public override bool Equals( object value )
{
var type = value as Person2;
return ( type != null ) && EqualityComparer<string>.Default.Equals( type.FirstName, FirstName ) && EqualityComparer<string>.Default.Equals( type.MiddleName, MiddleName ) && EqualityComparer<string>.Default.Equals( type.FamilyName, FamilyName );
}
выделенное не есть правильно, в случае если тип аргумента SomeDerivedPerson : Person
Das Reich der Freiheit beginnt da, wo die Arbeit aufhört. (c) Karl Marx