1
0
Fork 0
Setup-Workspace/src/Runner.cs

34 lines
No EOL
636 B
C#

namespace Setup_Workspace;
public class Runner : Doable
{
public override Task<bool> Do()
{
Console.WriteLine("Running tasks");
return Task.FromResult(true);
}
}
public abstract class Doable
{
public abstract Task<bool> Do();
public List<Doable> Followup = new List<Doable>();
public Doable Then(params Doable[] doables)
{
foreach (var entry in doables)
Followup.Add(entry);
return this;
}
public async Task Run()
{
if (!await Do())
return;
foreach (var entry in Followup)
entry.Run();
}
}