C# Language Proprietà auto-implementate


Esempio

Le proprietà implementate automaticamente sono state introdotte in C # 3.
Una proprietà auto-implementata è dichiarata con un getter e setter vuoto (accessor):

public bool IsValid { get; set; }

Quando una proprietà auto-implementata è scritta nel tuo codice, il compilatore crea un campo anonimo privato a cui è possibile accedere solo tramite gli accessors della proprietà.

L'affermazione di proprietà auto-implementata sopra equivale a scrivere questo lungo codice:

private bool _isValid;
public bool IsValid
{
    get { return _isValid; }
    set { _isValid = value; }
}

Le proprietà implementate automaticamente non possono avere alcuna logica nei loro accessor, ad esempio:

public bool IsValid { get; set { PropertyChanged("IsValid"); } } // Invalid code

Una proprietà auto-implementata può tuttavia avere diversi modificatori di accesso per i suoi accessori:

public bool IsValid { get; private set; }    

Il C # 6 consente alle proprietà auto-implementate di non avere alcun setter (rendendolo immutabile, dal momento che il suo valore può essere impostato solo all'interno del costruttore o hard coded):

public bool IsValid { get; }    
public bool IsValid { get; } = true;

Per ulteriori informazioni sull'inizializzazione delle proprietà autoattive, leggere la documentazione degli inizializzatori della proprietà automatica .