Почему эта лямбда не работает с делегатом?
В чем проблема со следующим кодом?
class Program { public delegate string ReturnAStringHandler(string s); static void Main(string[] args) { ReturnAStringHandler sh = ReturnAString; ReturnAStringHandler sh2 = () => sh("Hello"); } public static string ReturnAString(string s) { return s; } }
Проблема находится на этой линии:
ReturnAStringHandler sh2 = () => sh("Hello");
Компилятор говорит: "делегат Program.ReturnAStringHandler не принимает 0 аргументов"
Правка: Ооооо. Это подпись... Извините за глупый вопрос........
Что я уже пробовал:
Я пытался понять, что именно происходит.
RickZeeland
Совсем не глупый вопрос, я все еще нахожу лямбды трудными для работы, но это, вероятно, потому, что я старый пердун, который не может привыкнуть к программированию в "новом стиле" :)