- php中\n和
换行的区别 - 未来网站的发展方向
- IIS下的网站,在外网访问需要输入用户名密码 解决方案
- 分布式数据库技术与产业快速走向成熟
- 微信小程序的登录流程
- app上架需要办理什么资质呢?
- 添加WhatsApp链接教程
- 如何设计对搜索引擎友好的网站
- 北京SEO谈网站外链锚文本如何设置分析
- 设为首页和加入收藏js代码
邮箱:
手机:15383239821
IOC容器使用示例
一、Unity
1. 创建一个IService服务接口,并创建一个服务实现了Service
public interface IService
{
void DoSomething();
}
public class Service : IService
{
public void DoSomething()
{
Console.WriteLine("Service is doing something.");
}
}
2. 创建一个控制器类,且依赖于IService
public class Controller
{
private readonly IService _service;
public Controller(IService service)
{
_service = service;
}
public void DoWork()
{
_service.DoSomething();
}
}
3.使用 Unity 容器进行依赖注入,将 IService 实例注入到 Controller 中
using System;
using Unity;
class Program
{
static void Main(string[] args)
{
var container = new UnityContainer();
// 注册服务接口和实现类
container.RegisterType<IService, Service>();
// 解析控制器实例
var controller = container.Resolve<Controller>();
// 使用控制器
controller.DoWork();
Console.ReadLine();
}
}
二、AutoFac
1. 安装AutoFac类库,在NuGet搜索下载安装即可

2. 创建一个IService服务接口,并创建一个服务实现了Service
public interface IMyService
{
void DoSomething();
}
public class MyServiceImpl : IMyService
{
public void DoSomething()
{
Console.WriteLine("Doing something...");
}
}
3. 创建Autofac容器,并将IMyService接口和MyServiceImpl实现类进行注册
class Program
{
static void Main(string[] args)
{
var builder = new ContainerBuilder();
builder.RegisterType<MyServiceImpl>().As<IMyService>();
var container = builder.Build();
using (var scope = container.BeginLifetimeScope())
{
var service = scope.Resolve<IMyService>();
service.DoSomething();
}
}
}
三、Ninject
1. 安装Ninject类库,在NuGet搜索下载安装即可

2. 创建一个IService服务接口,并创建一个服务实现了Service
public interface IMyService
{
void DoSomething();
}
public class MyServiceImpl : IMyService
{
public void DoSomething()
{
Console.WriteLine("Doing something!");
}
}
3. 创建一个Ninject内核并注册我们的服务
using Ninject;
class Program
{
static void Main(string[] args)
{
// create a new Ninject kernel
var kernel = new StandardKernel();
// register our service
kernel.Bind<IMyService>().To<MyServiceImpl>();
// get an instance of our service
var service = kernel.Get<IMyService>();
// use our service
service.DoSomething();
Console.ReadLine();
}
}
- 上一篇:常用的IOC容器
- 下一篇:C# 13(.Net 9) 中的新特性 - 半自动属性
-
2026-01-08老域名和新域名哪个对seo更好?
-
2012-06-30浅析单向链接对网站优化的影响
-
2013-06-10经典SQL语句大全 .
-
2012-06-3050种快速提升网站流量方法
-
2023-03-28Xshell使用方法
-
2023-11-20PHP strpos()函数用法详解
