Этот
явно не
выглядит так, как будто это не было бы лучшей практикой. Может кто-нибудь объяснить, почему это не будет лучшей практикой или как это работает? Будут оценены любые книги или статьи, содержащие объяснения.Локальные переменные с делегатами
//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";
}
Значение, которое выводится является вторым значением «Modified». Какая часть магии компилятора делает эту работу? Это так же просто, как отслеживать значение в куче и снова извлекать его позже?
[Изменить]: С учетом некоторых замечаний, изменение первоначального предложения некоторые ...
В этой практике нет ничего плохого. Он просто более продвинут, чем понимают новички. – leppie 2008-09-29 13:53:26
прикованный; на самом деле, это может сделать для очень чистого/элегантного дизайна, но вам нужно понять последствия. – 2008-09-29 13:54:58