public void EnqueueBuilderForInstance(ITerminalDescriptor descriptor, IDataBuilder <TData> builder) { if (!BuildersByDescriptor.ContainsKey(descriptor)) { BuildersByDescriptor[descriptor] = new List <IDataBuilder <TData> >(); } BuildersByDescriptor[descriptor].Add(builder); }
public virtual async Task BuildInstanceAsync(ITerminalDescriptor descriptor, TData instance) { if (BuildersByDescriptor.ContainsKey(descriptor)) { foreach (var builder in BuildersByDescriptor[descriptor]) { await builder.DoWorkAsync(instance); } } }