次の方法で共有


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

TypeName

AvoidExcessiveParametersOnGenericTypes

CheckId

CA1005

[カテゴリ]

Microsoft.Design

互換性に影響する変更点

あり

原因

外部から参照可能なジェネリック型に、3 つ以上の型パラメーターがあります。

規則の説明

ジェネリック型に含まれる型パラメーターが増えれば増えるほど、それぞれの型パラメーターが表す意味を調べることや覚えることが難しくなります。通常、List<T> のように型パラメーターが 1 つの場合や、Dictionary<TKey, TValue> のように型パラメーターが 2 つの場合、意味は明確です。型パラメーターが 3 つ以上になると、ほとんどのユーザーには意味を把握することが困難になります (たとえば、C# では TooManyTypeParameters<T, K, V>、Visual Basic では TooManyTypeParameters(Of T, K, V) のような場合)。

違反の修正方法

この規則違反を修正するには、3 つ以上の型パラメーターを使用しないようにデザインを変更します。

警告を抑制する状況

デザインで 3 つ以上の型パラメーターが絶対に必要な場合を除き、この規則による警告を抑制しないでください。理解しやすく使いやすい構文でジェネリック型を指定することで、習得に必要な時間が短縮され、新しいライブラリの採用率が向上します。

関連規則

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

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

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

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

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

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

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

参照

関連項目

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