using System.Threading.Tasks;
public static void Main()
Console.WriteLine("Hello World");
dynamic[] ds = new dynamic[] {new object(), new object() };
var tasks = ds.Select(d => Foo2(d));
await Task.WhenAll(tasks);
public async Task Foo3(dynamic d)
public async Task Foo2(dynamic param)
await Task.Run(() => {});
object[] ds = new object[] {new object(), new object() };
var tasks = ds.Select(d => Moo2(d));
await Task.WhenAll(tasks);
public async Task Moo2(object param)
await Task.Run(() => {});