Property

Eintrag zuletzt aktualisiert am: 15.06.2009
 siehe auch Attribut

Ein Property dient in (.NET-)Programm dazu, ein Attribut einer Klasse zu deklarieren, bei dem aber Programmcode sowohl beim Setzen des Wertes als auch beim Lesen des Wertes ausgeführt wird. Ein Property ist damit eine Mischung aus Attribut und Methode: Der Aufrufer sieht das Property als Attribut, die Klasse intern sieht zwei Methoden: Die Getter-Methode zum Lesen und die Setter-Methode zum Schreiben des Attributes.

Was tatsächlich in Getter und Setter ausgeführt wird, ist dem Entwickler überlassen. Typische Beispiele sind:
  • Im Getter wird ein Wert berechnet, statt ihn aus dem Speicher zu lesen. Der Setter fehlt, weil es keinen Sinn macht, einen berechneten Wert zu speichern (z.B. "Alter": Diese Property würde im Getter das Alter aus Geburtstag und aktuellem Datum errechnen. Einen Setter gäbe es nur für "Geburtstag", aber nicht für Alter.
  • Im Setter wird geprüft, ob der Wert Sinn macht (z.B. Geburtstag darf nicht in Zukunft liegen)
  • Man darf einen Wert setzen, aber nicht wieder auslesen (z.B. Kennwort).

Im deutschen verwendet Microsoft "Eigenschaft" als Übersetzung für "Property", im Gegensatz zu den normalen ("direkten") Attributen, die Microsoft "field" bzw. "Feld" nennt.

Ein Indexer ist eine Property mit Parametern, z.B. Personenliste.Mitglieder[10].