Więc kiedy piszę coś takiegoJaka jest różnica między nową Action() i lambda?
Action action = new Action(()=>_myMessage = "hello");
Refactor Pro! Podkreśla to jako tworzenie redundantnych delegatów i pozwala je skrócić do
Action action =() => _myMessage="hello";
A to zwykle działa świetnie. Zazwyczaj, ale nie zawsze. Na przykład, Rhino Mocks ma metodę rozszerzenia nazwie zrobić:
IMethodOptions<T> Do(Delegate action);
Tu, przechodząc w pierwszych prac wersji, ale drugi nie. Co dokładnie dzieje się tutaj pod kołdrą?
Twój drugi blok kodu nie skompilować. Otrzymuję komunikat "Nie można przypisać wyrażenia lambda do niejawnie wpisanej zmiennej lokalnej". Ale jeśli zastąpię "var" przez "Akcja", robi to. –
Tak, masz rację, nie można go przypisać do niejawnie wpisanej zmiennej, będę ją edytować. –