Если интерфейс наследует IEquatable, реализующий класс может определить поведение метода Equals. Можно ли определить поведение операций ==?
public interface IFoo : IEquatable
{}
public class Foo : IFoo
{
// IEquatable.Equals
public bool Equals(IFoo other)
{
// Compare by value here...
}
}
Чтобы проверить, что две ссылки IFoo равны, сравнивая их значения:
IFoo X = new Foo();
IFoo Y = new Foo();
if (X.Equals(Y))
{
// Do something
}
Можно ли заставить if (X == Y)
использовать метод Equals на Foo?