本文整理汇总了C#中IocContainer.GetService方法的典型用法代码示例。如果您正苦于以下问题:C# IocContainer.GetService方法的具体用法?C# IocContainer.GetService怎么用?C# IocContainer.GetService使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IocContainer
的用法示例。
在下文中一共展示了IocContainer.GetService方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GetServiceTest1
public void GetServiceTest1()
{
var itype = typeof(IService1);
var container = new IocContainer();
Assert.False(container.ContainsService(itype));
Assert.NotNull(container.GetService(itype));
Assert.False(container.ContainsService(typeof(IService_NotFound)));
Assert.Null(container.GetService(typeof(IService_NotFound)));
}
示例2: 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));
}
示例3: 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)));
}
示例4: 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));
}
示例5: 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));
}
示例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);
}
示例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);
}
示例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);
}
示例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);
}
示例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);
}