所以当我写下这样的东西时
Action action = new Action(()=>_myMessage = "hello");
Refactor Pro!将这标记为多余的委托创建并允许我将其缩短为
Action action = () => _myMessage="hello";
通常这很有效。通常是这样的,但不总是。例如,Rhino Mocks有一个名为Do的扩展方法:
IMethodOptions<T> Do(Delegate action);
在这里,传递第一个版本是有效的,但第二个版本不起作用。在幕后到底发生了什么?