Autofac初学(1)
一、创建控制台项目
引入nuget包
二、创建接口
using System;
using System.Collections.Generic;
using System.Text;
namespace _02_autofac
{
internal interface Person
{
void Eat();
void Say();
}
}
三、创建实现类
using System;
using System.Collections.Generic;
using System.Text;
namespace _02_autofac
{
public class Student:Person
{
public void Eat()
{
Console.WriteLine("吃早饭");
}
public void Say()
{
Console.WriteLine("说早安");
}
}
}
四、创建实例
using Autofac;
using System;
using System.ComponentModel;
namespace _02_autofac
{
internal class Program
{
private static Autofac.IContainer Container { get; set; }
static void Main(string[] args)
{
//创建容器
var builder = new ContainerBuilder();
//创建builder,并在builder中注册类型。
builder.RegisterType<Student>().As<Person>();
//实例化容器(可以讲第一步合并进来)
Container = builder.Build();
//在需要使用接口的地方,通过container来解析得到一个借口的实例。
Person person = Container.Resolve<Person>();
person.Eat();
person.Say();
}
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异