IEquatable<T>の典型実装とコードスニペット
2018/12/15追記
こちらにまとめなおしたので参照してください。
IEquatable
今回改めて調べなおしたところ、最新の網羅性の高いガイドラインを見つけた。
構造体
クラス
- Mutable: IEquatableを実装しないようにする(実装したい場合はクラスをImmutableにすべき)
- Immutable: IEquatableを実装してよく、その場合はEquals()を実装するが、==, !=演算子については型が値として意味を持つ場合に限り実装する
というわけで、以下コードスニペット。構造体用とクラス用があって、それぞれショートカットはIEquatableStruct
とIEquatableClass
。貼りこんだ後、// TODO
と書かれている箇所だけその型に合わせて実装すればよい。