Freigeben über


Eigenschaftenentwurf

Aktualisiert: November 2007

Grundsätzlich stellen Methoden Aktionen und Eigenschaften Daten dar. Eigenschaften werden wie Felder verwendet und sollten daher mit keinem großen Rechenaufwand verbunden sein oder Nebeneffekte erzeugen. Weitere Informationen über den Eigenschaftenentwurf finden Sie unter Entwurf indizierter Eigenschaften und Benachrichtigungsereignisse für Eigenschaftenänderungen.

Die folgenden Richtlinien erleichtern einen guten Entwurf von Eigenschaften.

Erstellen Sie schreibgeschützte Eigenschaften, wenn der Aufrufer den Wert einer Eigenschaft nicht ändern können soll.

Beachten Sie, dass sich die Veränderlichkeit des Eigenschaftentyps darauf auswirkt, was vom Benutzer geändert werden kann. Wenn Sie z. B. eine schreibgeschützte Eigenschaft definieren, die eine Auflistung mit Lese-/Schreibzugriff zurückgibt, kann der Endbenutzer der Eigenschaft keinen anderen Wert zuweisen, doch kann er die Elemente in der Auflistung ändern.

Verwenden Sie keine lesegeschützten Eigenschaften.

Wenn der Eigenschaftengetter nicht bereitgestellt werden kann, verwenden Sie zum Implementieren der Funktionalität stattdessen eine Methode. Der Methodenname sollte mit Set beginnen, worauf die Bezeichnung folgt, die die Eigenschaft darstellt. Beispielsweise verfügt AppDomain über eine Methode mit dem Namen SetCachePath statt über eine lesegeschützte Eigenschaft mit dem Namen CachePath.

Lassen Sie keine Ausnahmen von Eigenschaftengettern auslösen.

Bei Eigenschaftengettern sollte es sich um einfache Operationen ohne Vorbedingungen handeln. Wenn ein Getter möglicherweise eine Ausnahme auslöst, sollten Sie die Eigenschaft eventuell in eine Methode ändern. Diese Empfehlung gilt nicht für Indexer. Indexer können Ausnahmen aufgrund ungültiger Argumente auslösen.

Das Auslösen von Ausnahmen von einem Eigenschaftensetter ist gültig und zulässig.

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 im Buch "Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries" von Krzysztof Cwalina und Brad Abrams, veröffentlicht von Addison-Wesley, 2005.

Siehe auch

Weitere Ressourcen

Entwurfsrichtlinien für Member

Entwurfsrichtlinien zum Entwickeln von Klassenbibliotheken