Я пытаюсь понять, как использовать System.Object.operator ==().
Моя эффективная книга С# и страница здесь (http://www.srtsolutions.com/just-what-is-the-default-equals-behavior-in-c-how-does-it-relate-to-gethashcode), говорит, что:
"System.Object.operator ==() вызовет a.Equals(b), чтобы определить, равны ли a и b".
Итак, с моим кодом:
object a = 1;
object b = 1;
if(object.Equals(a, b))
{
// Will get here because it calls Int32.Equals(). I understand this.
}
if(a == b)
{
// I expected it to get here, but it doesn't.
}
Я ожидал (a == b), чтобы вызвать Int32, переопределить Equals и сравнить значения таким же образом, что и static objet.Equals(). Что мне не хватает?
Изменить: возможно, я добавил, что я вижу, что (a == b) тестирует - он тестирует равенство ссылок. Я был брошен этой книгой, которая, по-видимому, предполагает, что она будет работать внутренне как объект static. Элементы (obect, object) будут.