Eigenschaften (C#-Programmierhandbuch)

 

System_CAPS_ICON_note.jpg Hinweis

Die neueste Dokumentation über C# finden Sie im Leitfaden für C# auf docs.microsoft.com.

Eine Eigenschaft ist ein Member, das einen flexiblen Mechanismus zum Lesen, Schreiben oder Berechnen des Werts eines privaten Felds bietet. Eigenschaften können wie öffentliche Datenmember verwendet werden, es sind jedoch spezielle Methoden namens Accessoren. Dies ermöglicht den problemlosen Datenzugriff und unterstützt weiterhin die Sicherheit und Flexibilität der Methoden.

In diesem Beispiel speichert die TimePeriod-Klasse einen Zeitraum. Intern speichert die Klasse die Zeit in Sekunden, jedoch ermöglicht eine Eigenschaft mit dem Namen Hours die Angabe einer Zeit in Stunden durch den Client. Die Accessoren für die Hours-Eigenschaft führen die Konvertierung zwischen Stunden und Sekunden durch.

        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

Es ist üblich, Eigenschaften zu verwenden, die umgehend das Ergebnis des Ausdrucks zurückgeben. Es ist eine Syntaxabkürzung zur Definition dieser Eigenschaften mithilfe von => verfügbar:

public string Name => First + " " + Last;   

Die Eigenschaft muss schreibgeschützt sein. Verwenden Sie darüber hinaus nicht das get-Accessorschlüsselwort.

  • Mithilfe von Eigenschaften kann eine Klasse eine öffentliche Methode zum Abrufen und Festlegen von Werten verfügbar machen und dabei den Implementierungs- oder Verifizierungscode ausblenden.

  • Ein get-Eigenschaftenaccessor wird verwendet, um den Wert der Eigenschaft zurückzugegeben. Ein set-Accessor wird verwendet, um einen neuen Wert zuzuweisen. Diese Accessoren können über verschiedene Zugriffsebenen verfügen. Weitere Informationen finden Sie unter Einschränken des Accessorzugriffs.

  • Das value-Schlüsselwort wird verwendet, um den Wert zu definieren, der vom set-Accessor zugewiesen wird.

  • Eigenschaften, die keinen set-Accessor implementieren, sind schreibgeschützt.

  • Ziehen Sie für einfache Eigenschaften, die keinen benutzerdefinierten Accessorcode erfordern, die Möglichkeit der Verwendung automatisch implementierter Eigenschaften in Betracht. Weitere Informationen finden Sie unter Automatisch implementierte Eigenschaften.

Weitere Informationen erhalten Sie unter C#-Sprachspezifikation. Die Sprachspezifikation ist die verbindliche Quelle für die Syntax und Verwendung von C#.

C#-Programmierhandbuch
Verwenden von Eigenschaften
Indexer

Anzeigen: