IEquatable に関して非常に単純な質問があります。次の基本クラスがあるとします。
public class Person
{
public string FirstName { get; set; }
public string LastName { get; set; }
public SalaryInformation AnnualSalaryInformation { get; set; }
}
public class SalaryInformation
{
public string TaxCode { get; set; }
public string SalaryBand { get; set; }
public BankInformation AccountInfo { get; set; }
}
public class BankInformation
{
public string SortCode { get; set; }
public string AccountNumber { get; set; }
}
Person オブジェクトと同等かどうかを比較したい場合、どうすればよいでしょうか? Person クラスに IEquatable インターフェイスを実装すると、そのクラス内の任意のオブジェクトに自動的にカスケードされますか?それとも、すべてのクラスにインターフェイスを明示的に実装する必要がありますか?
すべてのクラスにインターフェイスを実装する必要がある場合、Person のインスタンスを Person の別のインスタンスと比較するときに注意すべき特定の「落とし穴」はありますか?