Say I have a set of tasks:
var task1 = DoThisAsync(...);
var task2 = DoThatAsync(...);
var task3 = DoOtherAsync(...);
var tas
Calling a method runs code. If you want an object that will call this method later, then use a delegate.
In this case, you could use Func, which is an asynchronous delegate. A list of these should suffice:
// Build the list of operations in order.
var operations = new List>();
operations.Add(() => DoThisAsync(...));
operations.Add(() => DoThatAsync(...));
operations.Add(() => DoOtherAsync(...));
// Execute them all one at a time.
foreach (var operation in operations)
await operation();