Ce
n'est manifestement pas
apparaît comme si ce ne serait pas une bonne pratique. Quelqu'un peut-il expliquer pourquoi ce ne serait pas une bonne pratique ou comment cela fonctionne? Tout livre ou article fournissant une explication serait apprécié.Variables locales avec les délégués
//The constructor
public Page_Index() {
//create a local value
string currentValue = "This is the FIRST value";
//use the local variable in a delegate that fires later
this.Load += delegate(object sender, EventArgs e) {
Response.Write(currentValue);
};
//change it again
currentValue = "This is the MODIFIED value";
}
La valeur qui est sortie est la deuxième valeur « modification ». Quelle partie de la magie du compilateur fait ce travail? Est-ce aussi simple que de suivre la valeur sur le tas et de le retrouver plus tard?
[Modifier]: Compte tenu de certains des commentaires, changer la phrase originale ... une
Il n'y a rien de mal à cette pratique. Il est juste plus avancé que les débutants ne le comprendraient. – leppie
secondé; en fait, il peut faire un design très propre/élégant - mais vous devez comprendre les implications. –
C'est vraiment très intéressant. Je ne pense pas que jouer avec des variables locales dans la portée du délégué serait une bonne pratique, mais vous apprenez quelque chose de nouveau tout le temps. – Hugoware