本文使用 .NET Core 6.0版本,严格来说,这里其实记录的是服务定位器的用法,并不完全是像controller那种依赖注入的用法。因为纯依赖注入的用法网上很多,随便搜一搜就能找到。
首先安装一个扩展包:
NuGet\Install-Package Microsoft.Extensions.DependencyInjection
然后下面依赖注入的流程:
1. 注册服务
2. 得到ServiceProvider
3.由ServiceProvider得到具体的对象。后面就可以随意操作了
using Microsoft.Extensions.DependencyInjection;
namespace DependencyInjection
{
internal class Program
{
static void Main(string[] args)
{
ServiceCollection services = new ServiceCollection();
services.AddTransient<People>(); // 将服务注册到服务容器里
using (ServiceProvider sp = services.BuildServiceProvider())
{
People p = sp.GetService<People>(); // 得到对象