次の方法で共有


列挙体パラメータまたはブール (Boolean) 型パラメータの選択

更新 : 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』を参照してください。

参照

概念

パラメータのデザイン

その他の技術情報

メンバのデザインのガイドライン

クラス ライブラリ開発のデザイン ガイドライン