/// <summary> /// Merge multiple DI Factories into a single factory. If settings or object mappings collide, it will throw /// an InvalidOperation exception. /// </summary> /// <param name="originalContainer"></param> /// <param name="extraContainers"></param> /// <returns></returns> public static DIFactory Merge(DIFactory originalContainer, params DIFactory[] extraContainers) { DIFactory newFactory = new DIFactory(originalContainer); foreach (var container in extraContainers) { newFactory.MergeWithSelf(container); } return(newFactory); }