En utilisant
private int tada;
public int TADA
{
get
{
Console.WriteLine("GETTER");
return tada;
}
set
{
Console.WriteLine("SETTER");
tada = value;
}
}
et
int s = TADA = 1;
Je ne reçois que SETTER écrit à la fenêtre de sortie, il ne semble pas appeler le getter.
De C# Language Fundamentals
Vous pouvez même attribuer la même valeur à plusieurs variables, comme ceci:
int a, b, c, d;
a = b = c = d = 5;
Dans ce cas, a, b, c et d auront tous la valeur 5. Cela fonctionne parce que le compilateur C# effectue l'affectation la plus à droite en premier; est, d = 5. Cette affectation renvoie elle-même une valeur, la valeur 5. Le compilateur affecte ensuite cette valeur renvoyée à c. Cette deuxième affectation renvoie également une valeur, et ainsi de suite, jusqu'à ce que toutes les variables aient été affectées .
Le getter sur 'Property' ne sera pas appelé dans ce cas. Si vous avez besoin de l'exécuter via le getter, vous devez séparer l'affectation: 'Property = value; field = Propriété; ' –
http://stackoverflow.com/questions/13714246/assignment-and-sequence-points-how-is-this-ambiguous – Azodious