Zweck der automatischen Eigenschaften in .NET

8

Warum ist das:

%Vor%

dachte besser als das:

%Vor%

Ich kann nicht für das Leben von mir es ausarbeiten. Kann jemand etwas Licht werfen?

Danke

    
David 02.08.2010, 08:43
quelle

2 Antworten

12

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.

    
Dirk 02.08.2010, 08:46
quelle
1

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.

    
Felix Ungman 02.08.2010 10:09
quelle