redwarrior’s diary

C#, ASP.NET, WEB, G*などの雑多な情報

(小ネタ)EqualsメソッドもGetHashCodeメソッドもReSharperで!

ReSharperカテゴリの2つ前と操作がほとんど一緒ですが、機能紹介ということで。

csファイル(クラス)を開いて、メニューのRESHARPER→Edit→Generate Codeと選択し(もしくはクラス内にカーソルを合わせて「Alt」を押しながら「Insert」を押す)、

出てきたメニューから「Equality members」を選択すると、プロパティを選択する画面が出てくるので、メソッドに含んでほしいプロパティを選択して、Finishボタンをクリックすると作成してくれます。

チェックボックスで細かい挙動を変えることが出来ますフォルトのままで良いと思います

  • Fields can be null: フィールドにnullを設定できるかどうか、GetHashCodeメソッドの中身が変わります。

  • Overload equality operators: ==演算子の動作を変更するかどうか。

  • Implement IEquatable interface: IEquatableインターフェースを実装するかどうか。

  • Comparand type check: 選択肢が3つあるんですが、1つ目と2つ目の違いが良く分かりません。いずれにしろ継承をしていなければ関係ないようです。

すばらしい!

上記以外にもまだまだ機能があるので、クラスを作成したら「Alt+Insert」をやってみても良いと思います。