using Autofac;
using System;
namespace AutofacExample
{
public interface IGreeter
{
void SayHello();
}
public class Greeter : IGreeter
{
public void SayHello()
{
Console.WriteLine("Hello, World!");
}
}
public class Program
{
public static void Main(string[] args)
{
// 创建容器生成器
var builder = new ContainerBuilder();
// 注册组件
builder.RegisterType<Greeter>().As<IGreeter>();
// 构建容器
var container = builder.Build();
// 解析组件
using (var scope = container.BeginLifetimeScope())
{
var greeter = scope.Resolve<IGreeter>();
greeter.SayHello();
}
}
}
}
接口和实现类:
IGreeter 是一个简单的接口,定义了一个 SayHello 方法。Greeter 类实现了 IGreeter 接口,并在 SayHello 方法中输出 "Hello, World!"。Autofac 容器配置:
ContainerBuilder 来创建和配置依赖注入容器。RegisterType<Greeter>().As<IGreeter>() 将 Greeter 类注册为 IGreeter 接口的实现。构建和解析容器:
builder.Build() 方法来构建容器。container.BeginLifetimeScope() 创建一个生命周期范围,并在这个范围内解析 IGreeter 接口的实例。greeter.SayHello() 方法来执行逻辑。上一篇:c# math
下一篇:c#扩展方法
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站