public void SimpleIOCClear() { var simpleIOC = new SimpleIOC(); // 注册依赖 simpleIOC.RegisterInstance(new SomeDependencyA()); simpleIOC.RegisterInstance <ISimpleIOC>(simpleIOC); simpleIOC.Register <SomeDependencyB>(); simpleIOC.Clear(); // 获取对象 var someDependencyA = simpleIOC.Resolve <SomeDependencyA>(); var someDependencyB = simpleIOC.Resolve <SomeDependencyB>(); var ioc = simpleIOC.Resolve <ISimpleIOC>(); // 全部为空才对 Assert.IsNull(someDependencyA); Assert.IsNull(someDependencyB); Assert.IsNull(ioc); }
public void SimpleIOCRegsiterInstance() { var simpleIOC = new SimpleIOC(); simpleIOC.RegisterInstance(new SimpleIOC()); var instanceA = simpleIOC.Resolve <SimpleIOC>(); var instanceB = simpleIOC.Resolve <SimpleIOC>(); // 两个实例相同就算通过 Assert.AreEqual(instanceA, instanceB); }
public void SimpleIOCRegsiterInstanceDependency() { var simpleIOC = new SimpleIOC(); // 注册依赖 simpleIOC.RegisterInstance <ISimpleIOC>(simpleIOC); var iocA = simpleIOC.Resolve <ISimpleIOC>(); var iocB = simpleIOC.Resolve <ISimpleIOC>(); Assert.AreEqual(iocA, simpleIOC); Assert.AreEqual(iocA, iocB); }
public void SimpleIOCInject() { var simpleIOC = new SimpleIOC(); // 注册依赖 simpleIOC.RegisterInstance(new SomeDependencyA()); simpleIOC.Register <SomeDependencyB>(); var someCtrl = new SomeCtrl(); simpleIOC.Inject(someCtrl); Assert.IsNotNull(someCtrl.A); Assert.IsNotNull(someCtrl.B); Assert.AreEqual(someCtrl.A.GetType(), typeof(SomeDependencyA)); Assert.AreEqual(someCtrl.B.GetType(), typeof(SomeDependencyB)); }