有人可以給我一個雄辯的,在這是爲什麼OK深入的解釋:LAMBDA事件處理函數的範圍
EventHandler e;
private void foobar(){
e = new EventHandler((o, s) => {
somectl.LayoutUpdated -= e;
}
somectl.LayoutUpdated += e;
}
但是,這並不:
private void foobar(){
EventHandler e = new EventHandler((o, s) => {
somectl.LayoutUpdated -= e;
}
somectl.LayoutUpdated += e;
}
也不是這樣的:
private void foobar(){
EventHandler e;
e = new EventHandler((o, s) => {
somectl.LayoutUpdated -= e;
}
somectl.LayoutUpdated += e;
}
你會得到什麼錯誤? – SLaks 2012-04-12 14:14:37
看到我關於這個問題的文章:http://blogs.msdn.com/b/ericlippert/archive/2006/08/18/why-does-a-recursive-lambda-cause-a-definite-assignment-error。 ASPX – 2012-04-12 14:36:59