using System;
using System.Threading.Tasks;
public class Example
{
public static void Main(string[] args)
var task = DoWork();
Console.WriteLine("DoWork called");
// We call .Result because Main cannot be async
Console.WriteLine(task.Result);
Console.ReadLine();
}
static Task<int> DoWork()
var tcs = new TaskCompletionSource<int>();
Task.Run(async () =>
await Task.Delay(1000);
tcs.SetResult(6);
});
return tcs.Task;