Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

c# autofac

作者:看破了搪塞   发布日期:2026-01-07   浏览:69

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();
            }
        }
    }
}

代码解释说明:

  1. 接口和实现类

    • IGreeter 是一个简单的接口,定义了一个 SayHello 方法。
    • Greeter 类实现了 IGreeter 接口,并在 SayHello 方法中输出 "Hello, World!"。
  2. Autofac 容器配置

    • 使用 ContainerBuilder 来创建和配置依赖注入容器。
    • 使用 RegisterType<Greeter>().As<IGreeter>()Greeter 类注册为 IGreeter 接口的实现。
  3. 构建和解析容器

    • 调用 builder.Build() 方法来构建容器。
    • 使用 container.BeginLifetimeScope() 创建一个生命周期范围,并在这个范围内解析 IGreeter 接口的实例。
    • 最后调用 greeter.SayHello() 方法来执行逻辑。

上一篇:c# math

下一篇:c#扩展方法

大家都在看

c# 二进制

c# datatable group by

c# tcp client

c# type.gettype

c# sqlconnection

c# string.format 小数位数

.net和c#

c#获取系统时间

c#游戏开发

c#网络编程

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站