示例#1
0
        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);
        }
示例#2
0
        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);
        }