インターフェイスが IEquatable を継承する場合、実装クラスは Equals メソッドの動作を定義できます。== 操作の動作を定義することは可能ですか?
public interface IFoo : IEquatable
{}
public class Foo : IFoo
{
// IEquatable.Equals
public bool Equals(IFoo other)
{
// Compare by value here...
}
}
値を比較して、2 つの IFoo 参照が等しいことを確認するには、次のようにします。
IFoo X = new Foo();
IFoo Y = new Foo();
if (X.Equals(Y))
{
// Do something
}
if (X == Y)
Foo で Equals メソッドを使用することは可能ですか?