パラメーターの型を列挙体にするか、Boolean 値にするかを判断するには、次のガイドラインに従います。
メンバーが複数のブール型のパラメーターを持つ場合は、列挙体を使用します。
列挙体を使用すると、メンバー シグネチャのわかりやすさが大幅に向上します。 たとえば、次のようなメソッド呼び出しがあるとします。
Type.GetType("Contoso.Controls.Array", True, False)
Type.GetType("Contoso.Controls.Array", true, false);
Type::GetType("Contoso.Controls.Array", true, false);
このような呼び出しは、ドキュメントを確認するか、コード コメントを追加しない限り、理解することが非常に困難です。 次のコード例に示すように、複数のブール値の代わりに列挙値を使用すると、呼び出しが大幅にわかりやすくなります。
BetterType.GetType("Contoso.Controls.Array", _
ErrorOptions.ThrowOnError, _
CasingOptions.CaseInsensitive)
BetterType.GetType("Contoso.Controls.Array",
ErrorOptions.ThrowOnError,
CasingOptions.CaseInsensitive);
BetterType::GetType("Contoso.Controls.Array",
ErrorOptions::ThrowOnError,
CasingOptions::CaseInsensitive);
3 つ以上の値を使用する必要がないことが確実な場合を除いて、ブール型を使用しないようにします。
列挙体を使用した場合、新しいバージョンで値を追加できます。ただし、列挙体に値を追加すると、互換性の問題が発生する可能性があります。 詳細については、「列挙体への値の追加」を参照してください。
Portions Copyright 2005 Microsoft Corporation. All rights reserved.
Portions Copyright Addison-Wesley Corporation. All rights reserved.
設計ガイドラインの詳細についてを参照してください、「フレームワークの設計ガイドライン。規則、慣用句、および再利用可能なパターン。ネット ライブラリ」本クシシュトフ Cwalina、ブラッド エイブラムス、アスキー、2005 年発表しました。