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