Install-Package Microsoft.Extensions.DependencyInjection
using Microsoft.Extensions.DependencyInjection
(以下建成DI组件)学习了DI的使用方法,尝试将下面的代码改造成使用依赖注入的方式: 示例代码:
namespace _2_24依赖注入
{
internal class Program
{
static void Main(string[] args)
{
ITestService service = new TestServiceImpl();
service.Name = "Ron";
service.SayHi();
}
}
public interface ITestService
{
public string Name { get; set; }
public void SayHi();
}
public class TestServiceImpl : ITestService
{
public string Name { get; set; }
public void SayHi()
{
Console.WriteLine($"Hi,I'm {Name}");
}
}
}
改造之后:
namespace _2_25.NET中DI服务注册
{
internal class Program
{
static void Main(string[] args)
{
ServiceCollection services = new ServiceCollection();
services.AddTransient<TestServiceImpl>();
using(ServiceProvider serviceProvider = services.BuildServiceProvider())
{
TestServiceImpl testService=serviceProvider.GetService<TestServiceImpl>();
testService.Name = "Ron";
testService.SayHi();
}
}
public class TestServiceImpl : ITestService
{
public string Name { get; set; }
public void SayHi()
{
Console.WriteLine($"Hi,I'm {Name}");
}
}
public interface ITestService
{
public string Name { get; set; }
public void SayHi();
}
}
}
本文章使用limfx的vscode插件快速发布