クリックして評価とフィードバックをお寄せください
MSDN
MSDN ライブラリ
Visual Studio 2008
Visual Studio Team System
Development Edition
高品質なコードの作成
デザイン上の警告
 ジェネリック リストを公開しません

  低帯域幅での表示をオンにする
このページは次のバージョンについて記述しています。
Microsoft Visual Studio 2008/.NET Framework 3.5

その他のバージョンについては、以下の情報を参照してください。
Visual Studio Team System
ジェネリック リストを公開しません

更新 : 2007 年 11 月

TypeName

DoNotExposeGenericLists

CheckId

CA1002

カテゴリ

Microsoft.Design

互換性に影響する変更点

あり

外部から参照可能な System.Collections.Generic..::.List<(Of <(T>)>) 型のメンバを含む型が System.Collections.Generic..::.List<(Of <(T>)>) 型を返すか、その署名に System.Collections.Generic..::.List<(Of <(T>)>) パラメータが含まれています。

System.Collections.Generic..::.List<(Of <(T>)>) は継承ではなくパフォーマンスを目的としたジェネリック コレクションであるため、仮想メンバは含まれません。継承を目的としたジェネリック コレクションを次に示します。公開するときは System.Collections.Generic..::.List<(Of <(T>)>) ではなく、これを使用してください。

この規則違反を修正するには、System.Collections.Generic..::.List<(Of <(T>)>) 型から、継承を目的とするジェネリック コレクションの 1 つに変更します。

この警告が発生したアセンブリを再利用可能なライブラリにすることが意図されていない限り、この規則による警告を抑制しないでください。たとえば、ジェネリック リストを使用することでパフォーマンス上の利点を得ている、パフォーマンス チューニングされたアプリケーションでは、この警告を抑制しても安全です。

コミュニティ コンテンツ   コミュニティ コンテンツとは
新しいコンテンツの追加 RSS  注釈
List<T> を公開しないほうが良い理由      biac   |   編集   |   履歴の表示
Code Analysis Team Blog で詳しく説明されています。

http://blogs.msdn.com/fxcop/archive/2006/04/27/585476.aspx
> FAQ: Why does DoNotExposeGenericLists recommend that I expose Collection<T> instead of List<T>
フラグの設定 ContentBug
Processing
© 2009 Microsoft Corporation. All rights reserved. 使用条件  |  商標  |  プライバシー
Page view tracker