Warum werden die DataMembers von DataContract auf Coding-Websites angezeigt, die nicht mit automatischen Eigenschaften geschrieben wurden?

8

Als ein Beispiel von dieser Seite: Ссылка

%Vor%

Gibt es einen Grund, warum dieser Ansatz bevorzugt wird, wenn man bedenkt, dass WCF in .NET 3.0 gestartet wurde und C # 3 bereits über automatische Eigenschaften verfügt? Warum ist es nicht wie folgt geschrieben?

%Vor%     
Michael Buen 10.08.2010, 15:19
quelle

2 Antworten

6

Nur der Vollständigkeit halber, jenseits von Jons Punkt, ist ein anderer Punkt hier, dass in vielen (nicht allen) Szenarien der Datenvertrag aus irgendeiner Art von Modell generiert wird (dbml, EF, wsdl, proto, etc.) ). Daher gibt es keine expliziten Kosten für explizite Eigenschaften, und explizite Eigenschaften funktionieren für mehr Sprachversionen.

Darüber hinaus kann der Vorlagencode Teilmethoden enthalten, um Vor / Nach-Operationen und anderen Rahmencode zu ermöglichen. Dieser Teil der Vorlage wurde aus Gründen der Kürze aus dem veröffentlichten Beispiel weggelassen.

Schließlich können Datenverträge optional für das -Feld angegeben werden, was schreibgeschützte Eigenschaften usw. erlaubt:

%Vor%     
Marc Gravell 10.08.2010, 17:30
quelle
6

C # 3 kam mit .NET 3.5 - d. h. nach .NET 3.0.

Natürlich könnte es andere Gründe dafür geben, dass es keine gute Idee ist, automatische Eigenschaften für DataMember -Eigenschaften zu verwenden, aber das ist sicherlich ein Grund, warum Sie solche Beispiele sehen könnten.

(Zugegeben, die Seite, die Sie als Beispiel angegeben haben, wurde im Januar 2008 geschrieben - aber da VS2008 erst im November 2007 veröffentlicht wurde, hat der Autor möglicherweise bis zu diesem Punkt kein Upgrade durchgeführt.)

    
Jon Skeet 10.08.2010 15:22
quelle

Tags und Links