private DependenciesConfiguration Validate(DependenciesConfiguration dependenciesConfiguration) { var newDependenciesConfiguration = new DependenciesConfiguration(); foreach (var dependency in dependenciesConfiguration.storage) { if (dependency.dependency == dependency.implementation || dependency.implementation.GetInterfaces().Contains(dependency.dependency) || dependency.implementation.IsSubclassOf(dependency.dependency) || dependency.implementation.IsGenericTypeDefinition) { newDependenciesConfiguration.Register(dependency.dependency, dependency.implementation, dependency.isSingleton); } } return(newDependenciesConfiguration); }
public DependencyProvider(DependenciesConfiguration dependenciesConfiguration) { fDependenciesConfiguration = Validate(dependenciesConfiguration); singletonCache = new Dictionary <StorageRecord, object>(); }
public DependencyProvider(DependenciesConfiguration dc) { dependenciesConfiguration = dc; stack = new Stack <Type>(); }