2

私は現在、既存のプロジェクトの 1 つで FxCop の使用を調査しており、奇妙な結果を得ています。

出力には、「IComparable を実装しているため、'Log' は Equals をオーバーライドする必要があります」という「比較可能な型のメソッドをオーバーライドする」ルールの少数の違反が表示されます。

これには 2 つの問題があります。

  1. CompareTo実装するときだけ実装すればいいと思っていたIComparable(MSDN自身も確認済み)
  2. このクラスは実装していませんIComparableIComparable<T>、CompareTo を強く型付けしたものとして実装しています。

それで、それはFxCop(1.36)がぐらつきを投げているのですか、それとも私の理解がここでうまくいかないのですか..?

前もって感謝します。

4

2 に答える 2

2

Equals をオーバーライドします。

  • メソッドで base.Equals を呼び出すだけです
  • 上記が必要なすべてである理由を説明するコメントを追加します

そうすれば、FxCop は満足し、あなたのコードを見る次のプログラマーも満足します。(非常にまれなケースですが、プロフォランスの問題により上記のことができませんが、最近ではまれです。

于 2010-02-17T08:58:35.683 に答える