3

私はすべてのコードを FxCop に準拠するように変更しています。これは、ReadOnlyCollection を支持して多くの配列、リストを捨てることを意味し、このアドバイスに同意します。ただし、

ReadOnlyCollection<ReadOnlyCollection<T>> 

2 次元配列を置き換えるか、

List<List<T>> I now get the 

CA1006:メンバー シグネチャでジェネリック型をネストしないでください

苦情文句。まず、扱いにくいように見えますが、本質的に不変であるため、非常に複雑で理解しにくいようには見えませんList<List<T>>。配列の欠点を考えると、これは非常に一般的だと思います。第二に、2 次元データを格納し、特にこのために新しい型を作成しない限り、不変である代替案を思いつきません。

ここでのベストプラクティスは何ですか。この FxCop ルールはここでは実際には適用されず、抑制されるべきなのでしょうか?

どうもありがとう。

4

1 に答える 1

-1

この投稿へのコメントは、ここにも当てはまるようです。

この警告は、より優れたシンプルなパブリック インターフェイスを設計するのに役立つ一般的な警告です。この場合、メソッドに Expression> パラメータがあることに関する警告が表示されます。ただし、このメソッドの場合、タイプを単純化しても意味がありません。代わりに、属性を使用して警告を抑制するか、ルールセットからルールを完全に削除する必要があります。

ルールのアドバイスに従うことを検討すべき愚かな例は、次のような方法です。

public void F(Dictionary<String, List<Tuple<<String, Int32>>> 辞書);

Martin Liversage の回答 @ https://stackoverflow.com/a/14945331/1775528

于 2016-06-03T15:31:33.960 に答える