private static IEnumerable <IReportIdle> AddBlockIfNotAllreadyInArgs(IReportIdle block, IReportIdle[] args) { var blocksListed = args.ToList(); if (!blocksListed.Contains(block)) { blocksListed.Add(block); } return(blocksListed); }
public static async Task CompleteLoop(this IReportIdle block, params IReportIdle[] args) { var blocks = AddBlockIfNotAllreadyInArgs(block, args); await CompleteLoop(TimeSpan.FromMilliseconds(int.MaxValue), blocks); }
public static async Task CompleteLoop(this IReportIdle block, TimeSpan timeout, params IReportIdle[] args) { var blocks = AddBlockIfNotAllreadyInArgs(block, args); await CompleteLoop(timeout, blocks); }