Eigenschaften (C#-Programmierhandbuch)
Eigenschaften sind Member, die einen flexiblen Mechanismus zum Lesen, Schreiben oder Berechnen von Werten privater Felder zur Verfügung stellen.Eigenschaften können wie öffentliche Datenmember verwendet werden. Tatsächlich handelt es sich jedoch um spezielle Methoden, die als Accessoren bezeichnet werden.Damit kann problemlos auf Daten zugegriffen werden, während gleichzeitig die Sicherheit und die Flexibilität der Methoden optimiert werden.
In diesem Beispiel speichert die TimePeriod-Klasse einen Zeitraum.Intern speichert die Klasse die Zeit in Sekunden. Es wird eine Eigenschaft mit dem Namen Hours bereitgestellt, sodass ein Client die Zeit auch in Stunden angeben kann.Die Accessoren für die Hours-Eigenschaft führen die Konvertierung zwischen Stunden und Sekunden aus.
Beispiel
class TimePeriod
{
private double seconds;
public double Hours
{
get { return seconds / 3600; }
set { seconds = value * 3600; }
}
}
class Program
{
static void Main()
{
TimePeriod t = new TimePeriod();
// Assigning the Hours property causes the 'set' accessor to be called.
t.Hours = 24;
// Evaluating the Hours property causes the 'get' accessor to be called.
System.Console.WriteLine("Time in hours: " + t.Hours);
}
}
// Output: Time in hours: 24
Übersicht über Eigenschaften
Über die Eigenschaften kann eine Klasse das Abrufen und Festlegen von Werten öffentlich verfügbar machen, während Implementierungs- und Überprüfungscode ausgeblendet wird.
Mit dem get-Eigenschaftenaccessor wird der Wert einer Eigenschaft zurückgegeben, und mithilfe des set-Accessors kann ein neuer Wert zugewiesen werden.Diese Accessoren können verschiedene Zugriffsebenen haben.Weitere Informationen finden Sie unter Einschränken des Accessorzugriffs (C#-Programmierhandbuch).
Mit dem value-Schlüsselwort wird der Wert definiert, der vom set-Accessor zugewiesen wird.
Eigenschaften, die keinen set-Accessor implementieren, sind schreibgeschützt.
Erwägen Sie die Verwendung automatisch implementierter Eigenschaften bei einfachen Eigenschaften, die keinen benutzerdefinierten Accessorcode erfordern.Weitere Informationen finden Sie unter Automatisch implementierte Eigenschaften (C#-Programmierhandbuch).
Verwandte Abschnitte
Vergleich zwischen Eigenschaften und Indexern (C#-Programmierhandbuch)
Automatisch implementierte Eigenschaften (C#-Programmierhandbuch)
C#-Programmiersprachenspezifikation
Weitere Informationen finden Sie in der C#-Sprachspezifikation. Die Sprachspezifikation ist die verbindliche Quelle für die Syntax und Verwendung von C#.
Siehe auch
Referenz
Verwenden von Eigenschaften (C#-Programmierhandbuch)
Indexer (C#-Programmierhandbuch)