Ich habe diese Art von Eigenschaftsdeklaration in einem .NET 4.6.1 C # -Projekt gesehen
%Vor%Ich bin es gewohnt, schreibgeschützte Eigenschaften wie folgt zu deklarieren:
%Vor%Ich verstehe, dass es einige Unterschiede zwischen den beiden gibt (die erste erstellt ein neues Objekt), aber ich hätte gerne eine tiefere Erklärung sowie einige Hinweise, wann ich sie verwenden soll.
Die erste verwendet die Syntax new-to-C # -6 ausdrucksbasierter Member . Es entspricht:
%Vor%Die zweite ist auch neu in C # 6 - eine automatisch implementierte schreibgeschützte Eigenschaft. Es entspricht:
%Vor% Sie können MyObject
nur innerhalb eines Konstruktors in der deklarierenden Klasse zuweisen, die stattdessen nur dem Feld zugewiesen wird.
(Diese beiden "Äquivalenzen" verwenden Old-School-Property-Deklarationen, in denen Sie immer get
, set
oder beide als Blöcke mit Code haben.)