J'ai vu quelque chose comme ce qui suit quelque part et je me demandais ce que cela voulait dire. Je sais que ce sont des accesseurs et des setters, mais je veux savoir pourquoi le type de chaîne est défini comme ceci. Merci de m'avoir aidé.
public string Type { get; set; }
Ce sont Propriétés implémentées automatiquement (Propriétés automatiques en abrégé).
Le compilateur générera automatiquement l'équivalent de l'implémentation simple suivante:
private string _type;
public string Type
{
get { return _type; }
set { _type = value; }
}
C'est un auto-property et c'est la notation abrégée pour ceci:
private string type;
public string Type
{
get { return this.type; }
set { this.type = value; }
}
En C # 6:
Il est maintenant possible de déclarer les propriétés automatiques comme un champ:
public string FirstName { get; set; } = "Ropert";
Propriétés automatiques en lecture seule
public string FirstName { get;} = "Ropert";
public string Type { get; set; }
N'est-ce pas différent alors
private string _Type;
public string Type
{
get { return _Type; }
set { _Type = value; }
}
Cela signifie que le compilateur définit un champ de support lors de l'exécution. C'est la syntaxe des propriétés implémentées automatiquement.
Informations complémentaires: propriétés implémentées automatiquement
C'est une propriété automatiquement sauvegardée, fondamentalement équivalente à
private string type;
public string Type
{
get{ return type; }
set{ type = value; }
}
Celles-ci sont appelées propriétés automatiques.
http://msdn.Microsoft.com/en-us/library/bb384054.aspx
Sur le plan fonctionnel (et en termes d'IL compilé), elles sont identiques aux propriétés avec des champs de sauvegarde.
Je sais que c’est une vieille question, mais avec la publication de C # 6, vous pouvez maintenant faire quelque chose comme cela pour les propriétés privées.
public constructor()
{
myProp = "some value";
}
public string myProp { get; }