怪物奇妙物语

宇宙无敌超级美少男的怪物奇妙物语

首页 新随笔 联系 管理
  819 随笔 :: 0 文章 :: 2 评论 :: 16万 阅读

依赖注入的基本使用1/Program.cs

using Microsoft.Extensions.DependencyInjection;
ServiceCollection services = new ServiceCollection();
// AddTransient的两种方式
// services.AddTransient<ITestService,TestServiceImpl>();
// services.AddTransient(typeof(ITestService),typeof(TestServiceImpl));
// AddSingleton的三种方式
// services.AddSingleton<ITestService,TestServiceImpl>();
// services.AddSingleton(typeof(ITestService),new TestServiceImpl());
services.AddSingleton<ITestService>(new TestServiceImpl());
// AddScoped的三种方式
// services.AddScoped<ITestService, TestServiceImpl>();
using (ServiceProvider sp = services.BuildServiceProvider())
{
var ts1 = sp.GetRequiredService<ITestService>();
ts1.Name = "Alice";
ts1.SayHi();
}

依赖注入的基本使用1/TestServiceImpl2.cs

public class TestServiceImpl2 : ITestService
{
public string Name { get; set; }
public void SayHi()
{
Console.WriteLine($"你好,我是{Name}");
}
}

依赖注入的基本使用1/TestServiceImpl.cs

public class TestServiceImpl : ITestService
{
public string Name { get; set; }
public void SayHi()
{
Console.WriteLine($"Hi, I'm {Name}");
}
}

依赖注入的基本使用1/ITestService.cs

public interface ITestService
{
public string Name { get; set; }
public void SayHi();
}
posted on   超级无敌美少男战士  阅读(33)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
历史上的今天:
2023-02-09 threejs_单例模式_项目结构_tansform控制器_css2dlabel_事件派发EventDispacher_事件管理
2023-02-09 threejs 事件派发 事件管理 EventDispatcher
2022-02-09 es6的块级作用域
2022-02-09 var关键字和let/const关键字的区别
2022-02-09 cheerio 如何获取 数据属性data 中的数据
2022-02-09 Property 固有属性、Attribute 自定义属性 区别
点击右上角即可分享
微信分享提示