using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; namespace Pole.EventBus { public abstract class Consumer : IConsumer { readonly List, Task>> batchEventHandlers; public Consumer( List, Task>> batchEventHandlers) { this.batchEventHandlers = batchEventHandlers; } public Task Notice(List list) { return Task.WhenAll(batchEventHandlers.Select(func => func(list))); } } }