我想仅调用一次事件处理程序,然后将其分离。我试着写:第一次调用处理程序时分离处理程序
EventHandler handler = (s, e) =>
{
// Do something
//
// blabla
// Detach the handler
SizeChanged -= handler;
};
SizeChanged += handler;
但是上线SizeChanged -= handler
我得到这个错误
Use of unassigned local variable 'handler'
你对我应该如何进行idead?我想过使用布尔标志,但只有在找不到分离处理程序的方法时才会这样做。
如果你这样做,你会在你的回调中产生空参考异常... – 2012-04-02 12:37:57
不,试试吧。处理程序在关闭中捕获。 – aKzenT 2012-04-02 12:38:46
嘿,在你尝试过之前不要投票给我!阅读关于如何关闭工作...... – aKzenT 2012-04-02 12:39:29