更新 : 2007 年 11 月
パラメータの型を列挙体にするか、Boolean 値にするかを判断するには、次のガイドラインに従います。
メンバが複数のブール型のパラメータを持つ場合は、列挙体を使用します。
列挙体を使用すると、メンバ シグネチャのわかりやすさが大幅に向上します。たとえば、次のようなメソッド呼び出しがあるとします。
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);
3 つ以上の値を使用する必要がないことが確実な場合を除いて、ブール型を使用しないようにします。
列挙体を使用した場合、新しいバージョンで値を追加できます。ただし、列挙体に値を追加すると、互換性の問題が発生する可能性があります。詳細については、「列挙体への値の追加」を参照してください。
Portions Copyright 2005 Microsoft Corporation.All rights reserved.
Portions Copyright Addison-Wesley Corporation.All rights reserved.
デザイン ガイドラインの詳細については、2005 年に Addison-Wesley から出版されている Krzysztof Cwalina、Brad Abrams 共著の『Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries』を参照してください。