(0) exportieren Drucken
Alle erweitern
3 von 6 fanden dies hilfreich - Dieses Thema bewerten.

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 so wie öffentliche Datenmember verwendet werden, aber eigentlich sind sie spezielle Methoden, die Accessoren genannt werden. Mithilfe der Eigenschaften kann problemlos auf Daten zugegriffen werden, während gleichzeitig die Sicherheit und Flexibilität von Methoden gegeben ist.

In diesem Beispiel speichert die TimePeriod-Klasse einen Zeitraum. Intern speichert die Klasse die Zeit in Sekunden. Es wird aber 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.

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);
    }
}

Time in hours: 24

  • Ü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 Accessorzugriff.

  • Mithilfe des value-Schlüsselworts wird der Wert definiert, der vom set-Indexer zugewiesen wird.

  • Eigenschaften, die keine set-Methode implementieren, sind schreibgeschützt.

Weitere Informationen finden Sie in den folgenden Abschnitten von C#-Programmiersprachenspezifikation:

  • 1.6.6.2 Eigenschaften

  • 10.2.7.1 Für Eigenschaften reservierte Membernamen

  • 10.6 Eigenschaften

Fanden Sie dies hilfreich?
(1500 verbleibende Zeichen)
Vielen Dank für Ihr Feedback.
Anzeigen:
© 2014 Microsoft. Alle Rechte vorbehalten.