Da Sie die Implementierung des Setter / Getter transparent ändern können (aus der Sicht des Client-Codes), können Sie das Gleiche nicht tun, wenn Sie die zugrunde liegende Eigenschaft direkt anzeigen (da sie nicht binärkompatibel ist).
Es gibt einen gewissen Code-Geruch, der mit automatischen Eigenschaften verbunden ist, obwohl sie es viel einfacher machen, einen Teil des Zustands Ihrer Klasse ohne einen zweiten Gedanken zu entdecken. Dies ist auch in Java der Fall, wo man in vielen Projekten get/setXxx
-Paare findet, die den internen Zustand offenlegen (oft ohne Notwendigkeit, "nur für den Fall"), was die Eigenschaften im Wesentlichen öffentlich macht.
Während der Zweck eines -Feldes der Objektstatus Speicher ist, ist der Zweck einer -Eigenschaft lediglich Zugriff . Der Unterschied mag konzeptioneller als praktischer Natur sein, aber automatische Eigenschaften bieten eine praktische Syntax, um beides zu deklarieren.
Tags und Links .net properties automatic-properties