宝哥软件园

净核心简单使用手动音量调节内置的国际奥委会

编辑:宝哥软件园 来源:互联网 时间:2021-08-31

本文基于。网络核心2.0 .

鉴于网上的文章理论较多,鄙人不才,想整理一份你好世界(演示)版的文章。

目录

场景一:简单类的使用场景二:包含接口类的使用场景三:涉及引用类库的使用

场景一:简单类的使用

类DemoService.cs:

公共类DeMoServiCe {公共字符串Test(){返回Guid .NewGuid().ToString();} }控制器DemoController.cs:

公共类演示控制器:控制器{私有只读演示服务_演示服务;public DeMocontroller(DeMoServiCe DeMoservice){ _ DeMoServiCe=DeMoServiCe;} public IActionResult Index(){ return Json(_ DemoServiCe).test());} }需要先在Startup.cs下的配置服务()方法中进行注册才能使用,这里提供了三种方法,可以选择自己喜欢的方式进行注册。

//方法一服务AddSingleton(类型为(DeMoServiCe),new DeMoServiCe());//方法二服务AddSingleton(DeMoServiCe的类型));//方法三服务addsingletondmoservice();

执行输出结果,正常:

国际奥林匹克委员会的容器目前有三种生命周期短暂的、有限的和单身,使用方式大致相同,具体差异不在这里进行叙述:

//范例服务AddTransient(DeMoServiCe的类型));服务addscopedemonservice();场景二:包含接口类的使用

接口IDemo2Service.cs:

公共接口idemo 2服务{ string Test();}接口实现Demo2Service.cs:

公共类演示2服务: IDemo2服务{公共字符串测试(){ 0返回Guid .NewGuid().ToString();} }控制器演示2控制器。cs:

公共类demo 2控制器:控制器{私有只读idemo 2 service _ demoServicepublic demo 2控制器(idemo 2 service demo service){ _ demo service=demo service;} public IActionResult Index(){ return Json(_ DemoServiCe).test());} }目前需要在类Startup.cs中的配置服务()方法内新增的注册方法如下(可选其一):

//方法一服务. AddSingleton(类型为(IDemo2Service),新的demo 2服务());//方法二服务. AddSingleton(类型为(IDemo2Service),类型为(演示2服务));//方法三服务AddSingletonIDemo2Service,demo 2 service();

输出结果正常:

场景三:涉及引用类库的使用

我们先新增一个用于标识作用的接口IServiceSupport.cs,该接口没有包含方法,只是一个标识作用,有点类似三帝的聚合根接口保险集团隔离:

公共接口IServiceSupport { }接口IDemo3Service.cs

公共接口idemo 3服务{ string Test();}接口实现Demo3Service.cs

公共类Demos 3服务: IDemo3服务{公共字符串测试(){ 0返回Guid .NewGuid().ToString();} }这次我们统一编写一个方法将该类库下的所有接口和实现进行注册:

私有静态void addsingletonservice(IServiceCollection services){ var ASM=Assembly .加载(新的程序集名称(' IocCoreDemo .服务');var serviceTypes=asm .GetTypes().其中(x=typeof(IServiceSupport)).IsAssignableFrom(x)!x.GetTypeInfo().IsAbstract);foreach(服务类型中的var服务类型){ foreach(服务类型中的var serviceInterface .GetInterfaces()) { services .AddSingleton(serviceInterface,服务类型);} } }因为使用了反射,所以需要使用系统。反思;

这次我们在Startup.cs类中添加和修改的方法如图所示:

Startup.cs类中使用的有效命名空间如下:

使用IocCoreDemo .服务;使用微软AspNetCore。建设者使用微软。托管;使用微软。扩展。配置;使用微软。扩展。依赖注射;使用系统Linq .使用系统。反思;如果注入失败,执行结果便会如图所示:

为什么会出现上图的情况呢?因为小编忘记把接口同上3服务继承自接口IServiceSupport了,接下来我们只需要做出一个继承的编写操作即可:

再次执行启动,结果将如您所料:

以上就是本文的全部内容。希望对大家的学习有帮助,支持我们。

更多资讯
游戏推荐
更多+