Vor der Einführung von "Automatische Eigenschaften" müssen wir ein "Backing Field" für die Propoerties verwenden. Meistens geben die Propoerties einfach den Wert zurück und setzen den Wert auf das "backing field" wie im folgenden Beispiel.
public string Name
{
get { return _name; }
set { _name=value; }
}
Mit der Einführung von ‚Automatische Eigenschaften‘ wir können das ‚dahinter liegendes Feld‘ einfach ignorieren (oder wir brauchen nicht ein zu liefern). Dies ist am besten geeignet, wenn Ihr Design dem obigen Beispiel entspricht, aber wenn Sie eine Art von benutzerdefinierter Logik erzwingen müssen, während Sie den Wert abrufen oder bevor Sie den Wert festlegen, müssen wir dem "guten alten Design" folgen das Hintergrundfeld)
Siehe hier: http://stackoverflow.com/questions/168169/public-variables-vs-private-variables-with-accessors?rq=1 – mattytommo
Nicht wirklich ein Duplikat. Die andere Frage stellt die Frage, warum Eigenschaften überhaupt verwendet werden, während diese nur fragt, warum jemand manuelle Eigenschaften anstelle von automatischen Eigenschaften implementiert. – Luaan
@Luaan: War gerade dabei, diesen Punkt selbst zu machen. Dies ist ein explizites Backign-Feld gegenüber einem impliziten Backing-Feld anstelle der Verwendung von Eigenschaften zum Umhüllen privater Felder. – Chris