C# Ist diese Übersetzung zur Property richtig?

...komplette Frage anzeigen

2 Antworten

Entweder

public DateTime Datum {get;set;}

oder

private DateTime datum;

public DateTime Datum

{ get { return datum; }

set { datum = value;}}

Der Vorteil ist, dass die Codierrichtlinien von C# eingehalten werden und dass die Property als solche erkennbar ist. Man würde die get...-Methode verwenden, wenn Aktionen innerhalb durchgeführt werden.


Antwort bewerten Vielen Dank für Deine Bewertung

Die Übersetzung ist nicht ganz richtig (bei B hast du es mit "Titel" richtig gemacht). Eine Property gibt typischerweise Zugriff auf den Wert einer private deklarierten Variablen und würde in dem Fall so aussehen:

private DateTime _Datum;
public DateTime Datum {
get { return _Datum; }
set { _Datum = value; }
}

Der kleine aber feine Unterschied zwischen Eigenschaften und Methoden liegt in der zu erwartenden Verhaltensweise. Methoden stehen für Aktionen, Eigenschaften für Daten. Dadurch hat eine Eigenschaft einen gewaltigen Vorteil, wenn man mit Datenbindung arbeitet. Dadurch wird vieles automatisiert.

Weiterhin gibt es entsprechende Richtlinien, die dem Programmierer helfen sollen zu entscheiden, wann eine Eigenschaft und wann eine Methode sinnvoll ist. Zum Beispiel würde man zu einer Methode greifen, wenn eine Konvertierung von Daten erfolgt, die Ausführung zum Ermitteln des gewünschten Wertes längere Zeit in Anspruch nimmt (z.B. durch Datenbankabfragen) oder eine definierte Reihenfolge der Ausführung wichtig ist. Da gibt es aber noch mehr.

Aber hey, intern ist eine Eigenschaft nichts anderes als eine set- und/oder get-Methode ; )

Antwort bewerten Vielen Dank für Deine Bewertung

Was möchtest Du wissen?