Register() 공개 메소드

public Register ( ServiceRegistration registration ) : void
registration ServiceRegistration
리턴 void
예제 #1
0
        public void RegisterAndResolveFromChild()
        {
            var parent = new ServiceContainer();
            parent.Register<TestService1>();

            var child = parent.OpenScope("child");

            var childService = child.Resolve<ITestService>();
            var parentService = parent.Resolve<ITestService>();

            Assert.IsNotNull(childService);
            Assert.IsInstanceOf<TestService1>(childService);

            Assert.IsNotNull(parentService);
            Assert.IsInstanceOf<TestService1>(parentService);

            Assert.AreEqual(parentService, childService);
        }
예제 #2
0
        public void ResolveFromChildWithParentService()
        {
            var parent = new ServiceContainer();
            parent.Register<TestService1>();

            var child = parent.OpenScope("child");
            child.Register<TestService2>();

            var service2 = child.Resolve<TestService2>();

            Assert.IsNotNull(service2);
            Assert.IsNotNull(service2.Service1);
        }
예제 #3
0
        public void RegisterNonInstantiableService()
        {
            var provider = new ServiceContainer();

            Assert.Throws <ServiceException>(() => provider.Register <IService>());
        }
예제 #4
0
        public void RegisterNullService()
        {
            var provider = new ServiceContainer();

            Assert.Throws <ArgumentNullException>(() => provider.Register(null));
        }