2010-05-15 4 views
0

Чтение некоторый кусок кода, и я продолжаю видеть это:Перегрузка Равно, это неправильно?

public override bool Equals (object obj) 
{ 
    if (obj == null || this.GetType().Equals (obj.GetType())) return false; 
    //compare code... 
} 

Не должно быть так (обратите внимание!):

public override bool Equals (object obj) 
{ 
    if (obj == null || !this.GetType().Equals (obj.GetType())) return false; 
    //compare code... 
} 

Или равенства работают по-разному в этом случае?

ответ

2

Это похоже на ошибку. Возвращение false, когда типы одинаковы, конечно, не является предполагаемым поведением.

Смежные вопросы