我想僅調用一次事件處理程序,然後將其分離。我試着寫:第一次調用處理程序時分離處理程序
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