public void UseType(Type type) { var implementation = implementationCache.GetOrCreate(type); var implementationConfiguration = implementationConfigurationCache.GetOrCreate(implementation); var abstractionConfiguration = new StupidAbstractionConfiguration(new[] { implementationConfiguration }); abstractionConfigurationCollection.Add(abstractionType, abstractionConfiguration); }
public void UseTypes(Type[] types) { var implementationConfigurations = types .Select(x => implementationCache.GetOrCreate(x)) .Select(x => implementationConfigurationCache.GetOrCreate(x)) .ToArray(); var abstractionConfiguration = new StupidAbstractionConfiguration(implementationConfigurations); abstractionConfigurationCollection.Add(abstractionType, abstractionConfiguration); }