所以,當我寫這樣的事情新的Action()和lambda有什麼區別?
Action action = new Action(()=>_myMessage = "hello");
重構臨!突出這是一個冗餘的代表創建,並允許我將其縮短到
Action action =() => _myMessage="hello";
而且這通常很好。 通常,但並非總是如此。例如,犀牛製品有一個名爲做一個擴展方法:
IMethodOptions<T> Do(Delegate action);
這裏,通過在第一個版本的作品,但第二個沒有。這裏的封面到底是什麼?
你的第二個代碼塊不進行編譯。我收到此消息「無法將lambda表達式分配給隱式類型的局部變量」。但是,如果我將「var」替換爲「Action」,它就可以。 – 2009-04-19 20:04:33
是的,你是對的,它不能被分配給一個隱式類型的變量,我會編輯它。 – 2009-04-20 02:12:44