"Propriétés implémentées automatiquement en lecture seule"
Tout d'abord, je tiens à préciser que la propriété comme
public string FirstName { get; }
Est appelé «propriétés implémentées automatiquement en lecture seule»
Pour vérifier cela, vous pouvez exécuter et vérifier le code ci-dessus avec Visual Studio. Si vous modifiez la version du langage de C # 6.0 à C # 5.0, le compilateur lèvera l'exception suivante. La
fonctionnalité «Propriétés implémentées automatiquement en lecture seule» n'est pas disponible en C # 5. Veuillez utiliser la version de langage 6 ou supérieure.
pour changer la version du langage C #, visitez ici
J'en viens maintenant à votre deuxième question
«Ce n'est que du getter. Mais quand je construis un constructeur, je peux changer la valeur »
Microsoft introduit les «propriétés implémentées automatiquement en lecture seule» sur la logique de lecture seule. Comme nous le savons, le mot-clé «lecture seule» est disponible à partir de C # 1.0. nous utilisons le mot clé «readonly» comme modificateur sur un champ et ce champ peut être assigné de 2 façons soit au moment de la déclaration, soit dans un constructeur de la même classe.
De la même manière, la valeur des «propriétés implémentées automatiquement en lecture seule» peut être attribuée de 2 manières
Way1 (au moment de la déclaration):
public string FirstName { get; } = "Banketeshvar";
Way2 (dans un constructeur de la même classe)
Person()
{
FirstName = "Banketeshvar";
}
Propriété en lecture seule
Si vous recherchez une propriété en lecture seule, optez pour ceci
public string FullName => "Manish Sharma";
maintenant vous ne pouvez pas attribuer la valeur de la propriété «FullName» à partir du constructeur. Si vous essayez de le faire, les exceptions suivantes seront levées
"La propriété ou l'indexeur" Person.FullName "ne peut pas être attribué à - il est en lecture seule"