public Context RegisterFactory <T, FactoryT>() where FactoryT : DependencyFactory <T> { Type factoryType = typeof(FactoryT); Type dependencyType = typeof(T); var selfDependency = new SingleAutocomposeDependency(factoryType); InsertDependency(factoryType, selfDependency); FactoryDependency <T> factoryDependency = new FactoryDependency <T>(selfDependency); InsertDependency(dependencyType, factoryDependency); return(this); }
public Context RegisterFactory <T>(DependencyFactory <T> factory) { ThrowIfNull(factory, "factory"); Type dependencyType = typeof(T); Type factoryType = factory.GetType(); SingleDependency selfDependency = new SingleDependency(factory); InsertDependency(factoryType, selfDependency); FactoryDependency <T> factoryDependency = new FactoryDependency <T>(selfDependency); InsertDependency(dependencyType, factoryDependency); return(this); }