1 using System; 2 using System.Threading.Tasks; 3 4 class C 5 { Main()6 public static void Main () 7 { 8 } 9 Test_1()10 static async void Test_1 () 11 { 12 await RunAsync (); 13 } 14 RunAsync()15 static Task RunAsync () 16 { 17 return Task.Factory.StartNew ( 18 () => 19 { 20 }); 21 } 22 Test_2()23 static async Task<int> Test_2 () 24 { 25 return await RunAsync_2 (); 26 } 27 RunAsync_2()28 static Task<int> RunAsync_2 () 29 { 30 return Task.Factory.StartNew (() => 2); 31 } 32 Test_3()33 async Task<bool> Test_3 () 34 { 35 dynamic d = new C (); 36 d.Value = 3; 37 d.Value += await Task.Factory.StartNew (() => 2); 38 return d.Value == 5; 39 } 40 } 41