次の方法で共有


ジェネリック リストを公開しません

更新 : 2007 年 11 月

TypeName

DoNotExposeGenericLists

CheckId

CA1002

カテゴリ

Microsoft.Design

互換性に影響する変更点

あり

原因

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

規則の説明

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

違反の修正方法

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

警告を抑制する状況

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

関連規則

ジェネリック型でパラメータを使用しすぎないでください

コレクションは、ジェネリック インターフェイスを実装しなければなりません

ジェネリック型の静的メンバを宣言しません

ジェネリック型をメンバ シグネチャ内で入れ子にしません

ジェネリック メソッドは型パラメータを指定しなければなりません

汎用イベント ハンドラのインスタンスを使用します

適切な場所にジェネリックを使用します

参照

参照

ジェネリック (C# プログラミング ガイド)