IOC 内置容器的使用

//nuget安装: Microsoft.Extensions.DependencyInjection

//ServiceCollection的生命周期
//AddTransient 瞬时生命周期,每次创建都是一个全新的实例
//AddSingleton 单列生命周期,同一个类型创建出来的是同一个实例
//AddScoped 作用域生命周期,同一个services获取到的是用一个实例
//创建一个容器
ServiceCollection services = new ServiceCollection();
//注册抽象和具体普通类之间的关系
services.AddTransient<IMicrophone, Microphone>();
//services.build 一下
ServiceProvider serviceProvider = services.BuildServiceProvider();
IMicrophone microphone = serviceProvider.GetService<IMicrophone>();

IMicrophone 类

public class IMicrophone
{
}

Microphone 类

public class Microphone : IMicrophone
{
    public Microphone()
    {
        Console.WriteLine($"{this.GetType().Name}被构造.");
    }
}

 



posted @ 2024-07-12 16:41  龙卷风吹毁停车场  阅读(2)  评论(0编辑  收藏  举报