public delegate void CallBackNotification(string message);
public class CallBackClient
public void DoWork(CallBackNotification callbackPointer)
Console.WriteLine("Work started");
if(callbackPointer != null)
callbackPointer("Work is done");
public class TestCallBack
public void TestCallBackMethod()
CallBackNotification callbackPointer = new CallBackNotification(DoWorkAfterCallBack);
CallBackClient myClient = new CallBackClient();
myClient.DoWork(callbackPointer);
public void DoWorkAfterCallBack(string message)
Console.WriteLine(message);
public static void Main()
TestCallBack test = new TestCallBack();
test.TestCallBackMethod();