C# Private Setter

Harshit Jindal 12 Oktober 2023
  1. Verwendung von die Getter als Get-Accessor in C#
  2. Verwendung von die setters als Set Accessor in C#
C# Private Setter

Eigenschaften in C# sind eine Kombination aus Feldern und Methoden. Sie sind keine Variablen und können daher nicht als out- oder ref-Parameter in Funktionen übergeben werden.

Sie helfen bei der Kontrolle des Zugriffs auf Daten, führen eine Validierung von Daten vor der Bearbeitung durch und fördern einen saubereren Code, da er die Deklaration expliziter privater Variablen mit Hilfe von getters und setters vermeidet.

Bevor wir tief in die Verwendung von private setters eintauchen, lassen Sie uns zuerst die Konzepte von getters und setters diskutieren und langsam zu den Rollen von Zugriffsmodifikatoren übergehen.

Verwendung von die Getter als Get-Accessor in C#

Der Code für getter wird beim Lesen des Wertes ausgeführt. Da es sich um eine Leseoperation auf einem Feld handelt, muss ein getter immer das Ergebnis zurückliefern.

Ein öffentlicher Getter bedeutet, dass die Eigenschaft für alle lesbar ist. Während der private Getter impliziert, dass die Eigenschaft nur von der Klasse gelesen werden kann und daher eine schreibgeschützte Eigenschaft ist.

Wir müssen je nach Bedarf zwischen getters wählen.

Verwendung von die setters als Set Accessor in C#

Beim Schreiben des Wertes wird der Code für setters ausgeführt.

Es ist eine Schreiboperation und daher eine void-Methode. Es nimmt als Argument den Wert für das Feld.

Der Wert kann der Eigenschaft in ihrer aktuellen Form zugewiesen werden, oder wir können vor der Zuweisung einige Berechnungen durchführen.

Der public setter bedeutet, dass der Wert von jedem Objekt bearbeitet werden kann, das außerhalb der Klasse vorhanden ist. Andererseits bedeutet der private setter, dass die Eigenschaft schreibgeschützt ist und nicht von anderen geändert werden kann.

Nachdem wir nun den Unterschied zwischen getter, setter und den Auswirkungen von Accessor-Modifikatoren kennen, können wir uns speziell mit private Setter befassen.

public int Prop { get; private set; }

// The below code is the same as above, see the cleanliness use of auto property brings.
private int prop;
public int Prop {
  get { return prop; }
}

Wir können aus dem obigen Code ersehen, dass die Verwendung von private setts nicht nur eine gute Codierungspraxis ist, sondern unseren Code inhärent gekapselt macht.

Die Encapsulation bedeutet, dass die Objekte in unserer Klasse an einer Schnittstelle haften bleiben und ihren Zustand immer beibehalten. Wenn Sie hier verhindern, dass die Eigenschaft von außen bearbeitet werden kann, werden Klassen robuster und leistungsfähiger.

Harshit Jindal avatar Harshit Jindal avatar

Harshit Jindal has done his Bachelors in Computer Science Engineering(2021) from DTU. He has always been a problem solver and now turned that into his profession. Currently working at M365 Cloud Security team(Torus) on Cloud Security Services and Datacenter Buildout Automation.

LinkedIn