C# Language Propriétés implémentées automatiquement


Exemple

Les propriétés implémentées automatiquement ont été introduites dans C # 3.
Une propriété auto-implémentée est déclarée avec un getter et un setter vides (accesseurs):

public bool IsValid { get; set; }

Lorsqu'une propriété implémentée automatiquement est écrite dans votre code, le compilateur crée un champ anonyme privé auquel il est uniquement possible d'accéder via les accesseurs de la propriété.

La déclaration de propriété implémentée ci-dessus équivaut à écrire ce long code:

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

Les propriétés implémentées automatiquement ne peuvent avoir aucune logique dans leurs accesseurs, par exemple:

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

Une propriété implémentée automatiquement peut cependant avoir différents modificateurs d'accès pour ses accesseurs:

public bool IsValid { get; private set; }    

C # 6 permet aux propriétés implémentées automatiquement de ne pas avoir de setter du tout (ce qui le rend immuable, puisque sa valeur ne peut être définie qu'à l'intérieur du constructeur ou codée en dur):

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

Pour plus d'informations sur l'initialisation des propriétés implémentées automatiquement, consultez la documentation relative aux initialiseurs de propriétés automatiques .