Объявление встроенного делегата (С#) Я не могу получить следующее для компиляции: var x = new Action(delegate void(){}); Может ли кто-нибудь указать, что я делаю неправильно? Ответ 1 При использовании анонимных методов не указывается тип возвращаемого значения. Это будет работать: var x = new Action(delegate(){}); Некоторые альтернативы: Action x = () => {}; // Assuming C# 3 or higher Action x = delegate {}; Action x = delegate() {}; var x = (Action) (delegate{}); Ответ 2 Почему не лямбда-нотация? Action myAction= (Action)(()=> { });
Ответ 1 При использовании анонимных методов не указывается тип возвращаемого значения. Это будет работать: var x = new Action(delegate(){}); Некоторые альтернативы: Action x = () => {}; // Assuming C# 3 or higher Action x = delegate {}; Action x = delegate() {}; var x = (Action) (delegate{});