Freigeben über


Feld einkapseln

Aktualisiert: November 2007

Mit dem Umgestaltungsvorgang Feld kapseln können Sie schnell und einfach eine Eigenschaft aus einem vorhandenen Feld erstellen und den Code unmittelbar danach mit Verweisen auf die neue Eigenschaft aktualisieren.

Wenn ein Feld den Typ public hat, können andere Objekte direkt auf das Feld zugreifen und es ändern. Dies bleibt von dem Objekt, das dieses Feld besitzt, unbemerkt. Indem Sie dieses Feld mithilfe von Eigenschaften kapseln, können Sie den Direktzugriff auf Felder verhindern.

Um die neue Eigenschaft zu erstellen, wird der Zugriffsmodifizierer des zu kapselnden Felds über den Vorgang Feld kapseln in private geändert und anschließend ein get-Accessor und ein set-Accessor für das Feld generiert. In einigen Fällen wird nur ein get-Accessor generiert, beispielsweise wenn das Feld schreibgeschützt deklariert wird.

Das Umgestaltungsmodul aktualisiert den Code in den Bereichen, die im Abschnitt Verweise aktualisieren im Dialogfeld "Feld einkapseln" angegeben sind, mit Verweisen auf die neue Eigenschaft.

Hinweise

Der Vorgang Feld kapseln kann nur ausgeführt werden, wenn sich der Cursor in derselben Zeile wie die Felddeklaration befindet.

Bei Deklarationen, in denen mehrere Felder deklariert werden, verwendet Feld kapseln das Komma als Trennzeichen zwischen Feldern und initialisiert die Umgestaltung für das Feld, das sich in derselben Zeile und am nächsten zum Cursor befindet. Sie können das zu kapselnde Feld auch angeben, indem Sie den Namen des Feldes in der Deklaration auswählen.

Der durch diesen Umgestaltungsvorgang generierte Code wird durch das Codeausschnittsfeature des Vorgangs Feld kapseln modelliert. Codeausschnitte können geändert werden. Weitere Informationen finden Sie unter Gewusst wie: Verwalten von Codeausschnitten.

Weitere Informationen dazu, wann Felder und wann Eigenschaften verwendet werden sollten, finden Sie unter Property-Prozeduren oder Felder.

Siehe auch

Aufgaben

Gewusst wie: Umgestalten von Code mit "Feld einkapseln"

Konzepte

Umgestaltung

Codeausschnitte (C#)