hello world

.NET CORE DI依赖注入

复制代码
using Autofac;

public interface IService
{
    void DoSomething();
}

public class Service : IService
{
    public void DoSomething()
    {
        Console.WriteLine("Doing something...");
    }
}

// 注册服务
var builder = new ContainerBuilder();
builder.RegisterType<Service>().As<IService>();
var container = builder.Build();

// 解析依赖
var service = container.Resolve<IService>();

// 使用服务
service.DoSomething();
复制代码
复制代码
using Microsoft.Practices.Unity;

public interface IService
{
    void DoSomething();
}

public class Service : IService
{
    public void DoSomething()
    {
        Console.WriteLine("Doing something...");
    }
}

// 注册服务
var container = new UnityContainer();
container.RegisterType<IService, Service>();

// 解析依赖
var service = container.Resolve<IService>();

// 使用服务
service.DoSomething();
复制代码
复制代码
using Ninject;

public interface IService
{
    void DoSomething();
}

public class Service : IService
{
    public void DoSomething()
    {
        Console.WriteLine("Doing something...");
    }
}

// 注册服务
var kernel = new StandardKernel();
kernel.Bind<IService>().To<Service>();

// 解析依赖
var service = kernel.Get<IService>();

// 使用服务
service.DoSomething();
复制代码
复制代码
using SimpleInjector;

public interface IService
{
    void DoSomething();
}

public class Service : IService
{
    public void DoSomething()
    {
        Console.WriteLine("Doing something...");
    }
}

// 注册服务
var container = new Container();
container.Register<IService, Service>();

// 解析依赖
var service = container.GetInstance<IService>();

// 使用服务
service.DoSomething();
复制代码
复制代码
using Microsoft.Extensions.DependencyInjection;
using System;

public interface IService
{
    void DoSomething();
}

public class Service : IService
{
    public void DoSomething()
    {
        Console.WriteLine("Doing something...");
    }
}

class Program
{
    static void Main(string[] args)
    {
        // 创建服务集合
        var services = new ServiceCollection();

        // 注册服务
        services.AddTransient<IService, Service>();

        // 构建服务提供程序
        var serviceProvider = services.BuildServiceProvider();

        // 解析依赖
        var service = serviceProvider.GetRequiredService<IService>();

        // 使用服务
        service.DoSomething();
    }
}
复制代码

 

posted @   LiveCoding  阅读(27)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示