CSharp · Console
using System;
using System.Threading.Tasks;
public class Program
{
public static void Main()
{
Add obj = new Add();
obj.WhereToSend = DisplayAdd;
Console.WriteLine("Started Calculating");
obj.Calculate(10).Wait();
}
static async Task DisplayAdd(int value)
{
Console.WriteLine("In Display Add");
// Some awaitable operation like below
await Task.Delay(1);
Console.WriteLine("value :" + value);
}
}
public delegate Task SendResult(int i);
public class Add
{
public SendResult WhereToSend;
public async Task Calculate (int number)
{
Console.WriteLine("Entered");
int result = number + number;
await WhereToSend (result);
Console.WriteLine("Finished");
}
}