58328500

CSharp · Console

/Program.cs

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");
        }
    }
;