Я вижу делегатов в двух формах:
A. Func<string, string> convertMethod = lambda
B. public delegate string convertMethod(string value);
Я не уверен, что на самом деле разница между этими двумя. Они оба делегаты? Я считаю, что первый из них будет использовать лямбда, а второй должен будет иметь метод для фактической работы. Я тоже могу быть смущен.