Freigeben über


Auswählen zwischen Enumerationen und booleschen Parametern

Anhand der folgenden Richtlinien können Sie bestimmen, ob der Typ eines Parameters eine Enumeration oder ein Boolean-Wert sein soll.

Verwenden Sie Enumerationen, wenn ein Member andernfalls über mindestens zwei boolesche Parameter verfügt.

Mit Enumerationen wird die Lesbarkeit von Membersignaturen beträchtlich erhöht. Betrachten Sie folgenden Methodenaufruf:

Type.GetType("Contoso.Controls.Array", True, False)
Type.GetType("Contoso.Controls.Array", true, false);

Type::GetType("Contoso.Controls.Array", true, false);

Aufrufe dieser Art sind ohne Überprüfen der Dokumentation oder Hinzufügen von Codekommentaren schwierig zu verstehen. Die Lesbarkeit eines Aufrufs mit Enumerationswerten statt boolescher Werte ist bedeutend besser, wie im folgenden Codebeispiel veranschaulicht.

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);

Verwenden Sie boolesche Parameter nur, wenn Sie genau wissen, dass niemals mehr als zwei Werte benötigt werden.

Enumerationen ermöglichen das Hinzufügen von Werten in späteren Versionen, doch kann das Hinzufügen von Werten zu Enumerationen Kompatibilitätsprobleme verursachen. Weitere Informationen finden Sie unter Hinzufügen von Werten zu Enumerationen.

Copyright für einzelne Teile 2005 Microsoft Corporation. Alle Rechte vorbehalten.

Copyright für einzelne Teile Addison-Wesley Corporation. Alle Rechte vorbehalten.

Weitere Informationen zu Entwurfsrichtlinien finden Sie unter „Framework-Entwurfs-Richtlinien: Idiome, Konventionen und Muster für wiederverwendbare .NET-Bibliotheken von Krzysztof Cwalina“ book und Brad Abrams, veröffentlicht von Addison-Wesley, 2005.

Siehe auch

Konzepte

Parameterentwurf

Weitere Ressourcen

Entwurfsrichtlinien für Member

Entwurfsrichtlinien zum Entwickeln von Klassenbibliotheken