当前位置: 首页>>代码示例>>C#>>正文


C# IocContainer.AddService方法代码示例

本文整理汇总了C#中IocContainer.AddService方法的典型用法代码示例。如果您正苦于以下问题:C# IocContainer.AddService方法的具体用法?C# IocContainer.AddService怎么用?C# IocContainer.AddService使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在IocContainer的用法示例。


在下文中一共展示了IocContainer.AddService方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: GetServiceTest2

 public void GetServiceTest2()
 {
     var type = typeof(DefaultService1);
     var container = new IocContainer();
     container.AddService(type, true);
     var childContainer = new IocContainer(container);
     Assert.Equal(childContainer.GetService(type), container.GetService(type));
 }
开发者ID:glorylee,项目名称:Aoite,代码行数:8,代码来源:IocContainerTests.cs

示例2: AddService_TypeObjectBoolean_Test1

        public void AddService_TypeObjectBoolean_Test1()
        {
            var container = new IocContainer();
            container.AddService(typeof(IService2), new XService2());

            var childContainer = new IocContainer(container);
            Assert.IsAssignableFrom<XService2>(childContainer.GetService(typeof(IService2)));
        }
开发者ID:glorylee,项目名称:Aoite,代码行数:8,代码来源:IocContainerTests.cs

示例3: AddService_TypeBooleanBoolean_Test2

        public void AddService_TypeBooleanBoolean_Test2()
        {
            var type = typeof(DefaultService1);
            var itype = typeof(IService1);

            var container = new IocContainer();

            container.AddService(type, true);
            Assert.NotNull(container.GetService(type));
            Assert.NotNull(container.GetService(itype));
            Assert.Equal(container.GetService(type), container.GetService(type));
            Assert.Equal(container.GetService(type), container.GetService(itype));
            Assert.IsAssignableFrom(type, container.GetService(itype));
        }
开发者ID:glorylee,项目名称:Aoite,代码行数:14,代码来源:IocContainerTests.cs

示例4: RemoveServiceTest1

 public void RemoveServiceTest1()
 {
     var container = new IocContainer();
     var childContainer = new IocContainer(container);
     var itype = typeof(IService2);
     childContainer.AddService(itype, lmp => new XService2(), promote: true);
     Assert.True(container.ContainsService(itype));
     Assert.True(childContainer.ContainsService(itype));
     container.AddService(itype, lmp => new DefaultService2());
     Assert.IsAssignableFrom<XService2>(childContainer.GetService(itype));
     Assert.IsAssignableFrom<DefaultService2>(container.GetService(itype));
     childContainer.RemoveService(itype);
     Assert.IsAssignableFrom<DefaultService2>(childContainer.GetService(itype));
     Assert.IsAssignableFrom<DefaultService2>(container.GetService(itype));
     Assert.False(childContainer.ContainsService(itype));
 }
开发者ID:glorylee,项目名称:Aoite,代码行数:16,代码来源:IocContainerTests.cs

示例5: ContainsServiceServiceTest1

 public void ContainsServiceServiceTest1()
 {
     var container = new IocContainer();
     var childContainer = new IocContainer(container);
     var itype = typeof(IService2);
     childContainer.AddService(itype, lmp => new XService2(), promote: true);
     Assert.True(childContainer.ContainsService(itype));
     childContainer.RemoveService(itype);
     Assert.False(childContainer.ContainsService(itype));
     Assert.True(childContainer.ContainsService(itype, true));
 }
开发者ID:glorylee,项目名称:Aoite,代码行数:11,代码来源:IocContainerTests.cs

示例6: DefaultMappingTest2

        public void DefaultMappingTest2()
        {
            var container = new IocContainer();
            var service = container.GetService<DefaultMappingCtorService>();
            Assert.IsType<DefaultMappingService2>(service.InnerService);
            container.DestroyAll();

            container.AddService(typeof(IDefaultMappingService), typeof(DefaultMappingService));
            service = container.GetService<DefaultMappingCtorService>();
            Assert.IsType<DefaultMappingService>(service.InnerService);
        }
开发者ID:glorylee,项目名称:Aoite,代码行数:11,代码来源:IocContainerTests.cs

示例7: LastMappingTest2

 public void LastMappingTest2()
 {
     var container = new IocContainer();
     container.AddValue("baseValue1", 10);
     container.AddValue("baseValue2", 20);
     container.AddService(typeof(LastMapperTestModel));
     var ex = Assert.Throws<ArgumentException>(() => container.GetService(typeof(LastMapperTestModel), 50));
     Assert.Equal("value1", ex.ParamName);
 }
开发者ID:glorylee,项目名称:Aoite,代码行数:9,代码来源:IocContainerTests.cs

示例8: LastMappingTest1

        public void LastMappingTest1()
        {
            var container = new IocContainer();
            container.AddValue("baseValue1", 10);
            container.AddValue("baseValue2", 20);
            container.AddService(typeof(LastMapperTestModel));
            var model = container.GetService(typeof(LastMapperTestModel), 50, 80) as LastMapperTestModel;

            Assert.Equal(10, model.BaseValue1);
            Assert.Equal(20, model.BaseValue2);
            Assert.Equal(80, model.Value1);
            Assert.Equal(50, model.Value2);
        }
开发者ID:glorylee,项目名称:Aoite,代码行数:13,代码来源:IocContainerTests.cs

示例9: TypeValue_Test3

        public void TypeValue_Test3()
        {
            var parentContainer = new IocContainer();
            var childContainer = new IocContainer(parentContainer);
            parentContainer.AddValue("value1", 1);
            parentContainer.AddValue("value2", "2");
            parentContainer.AddValue("value3", false);

            childContainer.AddValue("value1", 9999);
            childContainer.AddValue("value2", "9999");

            childContainer.AddService(typeof(IValueService), typeof(ValueService1));
            parentContainer.AddService(typeof(IValueService), typeof(ValueService2));

            var childService = childContainer.GetService(typeof(IValueService)) as IValueService;
            var parentService = parentContainer.GetService(typeof(IValueService)) as IValueService;

            Assert.Equal(1, parentService.Value1);
            Assert.Equal("2", parentService.Value2);
            Assert.Equal(false, parentService.Value3);

            Assert.Equal(9999, childService.Value1);
            Assert.Equal("9999", childService.Value2);
            Assert.Equal(false, childService.Value3);

            childContainer.AddValue(typeof(IValueService), "value2", "8888");
            var childService2 = childContainer.GetService(typeof(IValueService)) as IValueService;

            Assert.Equal(9999, childService2.Value1);
            Assert.Equal("9999", childService2.Value2); //- 因为已映射,所以这里的值还是历史值
            Assert.Equal(false, childService2.Value3);

            childContainer.RemoveService(typeof(IValueService));
            childContainer.AddService(typeof(IValueService), typeof(ValueService1));

            var childService3 = childContainer.GetService(typeof(IValueService)) as IValueService;
            Assert.Equal("8888", childService3.Value2);
        }
开发者ID:glorylee,项目名称:Aoite,代码行数:38,代码来源:IocContainerTests.cs

示例10: Value_Test3

        public void Value_Test3()
        {
            var parentContainer = new IocContainer();
            var childContainer = new IocContainer(parentContainer);
            parentContainer.AddValue("value1", 1);
            parentContainer.AddValue("value2", "2");
            parentContainer.AddValue("value3", false);

            childContainer.AddValue("value1", 9999);
            childContainer.AddValue("value2", "9999");

            childContainer.AddService(typeof(IValueService), typeof(ValueService1));
            parentContainer.AddService(typeof(IValueService), typeof(ValueService2));

            var childService = childContainer.GetService(typeof(IValueService)) as IValueService;
            var parentService = parentContainer.GetService(typeof(IValueService)) as IValueService;

            Assert.Equal(1, parentService.Value1);
            Assert.Equal("2", parentService.Value2);
            Assert.Equal(false, parentService.Value3);

            Assert.Equal(9999, childService.Value1);
            Assert.Equal("9999", childService.Value2);
            Assert.Equal(false, childService.Value3);

        }
开发者ID:glorylee,项目名称:Aoite,代码行数:26,代码来源:IocContainerTests.cs


注:本文中的IocContainer.AddService方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。