CA1020: 型をほとんど含まない名前空間を使用しません
TypeName |
AvoidNamespacesWithFewTypes |
CheckId |
CA1020 |
[カテゴリ] |
Microsoft.Design |
互換性に影響する変更点 |
あり |
原因
グローバル名前空間以外に、型数が 5 つ未満である名前空間があります。
規則の説明
配置する型数の少ない名前空間を作成する場合、各名前空間を論理的に構成し、有効な理由を付けます。名前空間には、ほとんどの状況で併用される型を含めます。このとき、複数のアプリケーションが同時に指定できなければ、型を別の名前空間に配置します。たとえば、System.Web.UI 名前空間には Web アプリケーションで使用される型を含め、System.Windows.Forms 名前空間には Windows ベースのアプリケーションで使用される型を含めます。どちらの名前空間にもユーザー インターフェイスの状況を制御する型が含まれる場合でも、これらの型は同じアプリケーションで使用するようにデザインされていないため、別の名前空間に配置されます。名前空間を慎重に構築することで、機能の発見可能性も改善されます。名前空間の階層構造を検討することで、ライブラリを使用するときに、機能を実装する型の位置を特定できるようになります。
[!メモ]
このガイドラインに準拠するには、デザイン時の型とアクセス許可を別の名前空間にマージしないようにします。このような型は、メインの名前空間の下位にある独自の名前空間に所属します。また、名前空間の末尾にはそれぞれ .Design と .Permissions が付きます。
違反の修正方法
この規則違反を修正するには、型数が少ない複数の名前空間を 1 つの名前空間に結合します。
警告を抑制する状況
名前空間に別の名前空間の型と併用される型が含まれない場合は、この規則による警告を抑制しても安全です。