using System.Threading.Tasks;
using System.Runtime.CompilerServices;
public static async Task Main()
var r = await GetMyResult();
Console.WriteLine("Hello World");
public static async Task<MyResult> GetMyResult()
public sealed class MyResult
public async Task WaitForCompletion()
Console.WriteLine("Done");
public static class MyResultEx
public static TaskAwaiter GetAwaiter(this MyResult result) => result.WaitForCompletion().GetAwaiter();