Cosa sono le proprietà automatiche?

Utente HTML.it
chiede

Cosa sono le proprietà automatiche?

Redazione HTML.it
risponde

Le proprietà automatice sono una nuova feature di .NET 3.5. Si tratta di proprietà per non sono definite né la variabile privata corrispondente al campo pubblico né il codice per recuperarne e assegnarne il valore, rispettivamente, nel get e nel set. Ad esempio:

public int MyProperty { get; set; }

La dichiarazione sopra riportata viene “espansa” a tempo di compilazione con l’aggiunta della variabile privata per memorizzare la proprietà e del codice per il set ed il get. Ciò che si ottiene, dunque, è la definizione di una proprietà funzionalmente equivalente a quella creata con la sintassi completa (la stessa usata da Visual Studio 2005, per intenderci). In pratica, si tratta di una scorciatoia che permette di risparmiare alcune righe di codice.

Le proprietà automatiche hanno alcune limitazioni. Innanzi tutto, la variabile privata è creata solo in fase di compilazione, quindi non risulta accessibile da codice: per tale motivo non si possono fare controlli oppure eseguire azioni in seguito alla modifica del suo valore. La sintassi abbreviata, inoltre, può essere utilizzata solo con proprietà in lettura/scrittura (ovvero che hanno sia il set sia il get, anche se è possibile specificare un modificatore di accesso diverso per tali membri, ad esempio rendendo il set privato). Infine, questa feature non è supportata da Visual Basic .NET.