public delegate string GetError(string message);
public static void Main()
var missingName = GetError("MN");
var notFoundError = GetError("NF");
Console.WriteLine(missingName("Missong name"));
Console.WriteLine(notFoundError("Not Found"));
Console.WriteLine(missingName("Missong name 1"));
Console.WriteLine(notFoundError("Not Found 2"));
public static string GetCode()
public static GetError GetError(string lastCode)
Console.WriteLine($"Last code {lastCode}");
var code = $"{GetCode()}{lastCode}";
return (message) => $"{code}:{message}";