using System.Threading.Tasks;
public static void Main()
var test = new Test("arg1", async () =>
return await Task.FromResult("arg2");
private readonly string _arg1;
private readonly Func<Task<string>> _arg2;
public Test(string arg1, Func<Task<string>> arg2)