public static void Main()
DoSomething(c1.Method1, "Test4");
DoSomethingX(() => c1.Method2("HelloWorld"));
static int DoSomething1(string id)
static int DoSomething2(string id)
static int DoSomething3(string id)
static T DoSomething<T>(Func<string, T> f, string id)
static T DoSomethingX<T>(Func<T> f)
public int Method1(string id)
Console.WriteLine("Method 1 Do Work - {0}", id);
public int Method2(string id)
Console.WriteLine("Method 2 Do Work - {0}", id);
public int Method3(string id)
Console.WriteLine("Method 3 Do Work - {0}", id);