using System.Threading.Tasks;
Console.WriteLine("Entering Main() application entry point.");
int millisecondsDelay = 2000;
await CallingMethodAsync(millisecondsDelay);
Console.WriteLine("Exiting Main() application entry point.");
await Task.Delay(millisecondsDelay + 500);
static async Task CallingMethodAsync(int millisecondsDelay)
Console.WriteLine(" Entering calling method.");
Console.WriteLine(" Returning from calling method.");
static async Task CalledMethodAsync(int millisecondsDelay)
Console.WriteLine(" Entering called method, starting and awaiting Task.Delay.");
await Task.Delay(millisecondsDelay);
Console.WriteLine(" Task.Delay is finished--returning from called method.");