Итак, когда я пишу что-то вроде этого
Action action = new Action(()=>_myMessage = "hello");
Refactor Pro! Выделяет это как избыточное создание делегата и позволяет мне сократить его до
Action action = () => _myMessage="hello";
И это обычно отлично работает. Обычно, но не всегда. Например, Rhino Mocks имеет метод расширения с именем Do:
IMethodOptions<T> Do(Delegate action);
Здесь прохождение в первой версии работает, а второе - нет. Что именно происходит здесь под обложками?