У меня есть пользовательский тип Type, который реализует IEquatable (Type).
Затем я открываю два экземпляра типа, ни один из которых не является пустым
Assert.IsTrue(obj1.equals(obj2)) //Success
Assert.AreEqual(obj1, obj2) //False
Assert.AreEqual(Type)(obj1, obj2) //False
Первый попадает в мои равные, второй - в ToString ()
Есть предложения?
обновление
некоторый код для иллюстрации: http://pastebin.com/1uecrfeW
больше обновлений
Если мне нужно переопределить базовые равенства, даже если доступно лучшее (универсальное) равенство, то какая польза от реализации IEquals (T)?