Autofac的基本使用1

凯文软件 / 2024-12-30 / 原文

  1. 新建 .net 8 控制台
  2. nuget 安装 Autofac
  3. 新建接口
  4. public interface IUserService
    {
         void show();
    }

  5. 实现接口
  6. public class UserService : IUserService
    {
         public void show()
         {
             Console.WriteLine("UserService 执行");
         }
    }

调用

static void Main(string[] args)
{
     //创建一个容器
     ContainerBuilder builder = new ContainerBuilder();
     //注册UserService
     builder.RegisterType<UserService>().As<IUserService>();

    //从容器中解析出UserService
     IContainer container = builder.Build();
     IUserService a = container.Resolve<IUserService>();

    //执行UserService的方法
     a.show();

}





using Autofac;

namespace Autofac的基本使用1;

internal class Program
{
    static void Main(string[] args)
    {
        //创建一个容器
        ContainerBuilder builder = new ContainerBuilder();

        //注册UserService
        builder.RegisterType<UserService>().As<IUserService>();
        builder.RegisterInstance(new Student());
        //从容器中解析出UserService
        IContainer container = builder.Build();
        IUserService a = container.Resolve<IUserService>();

        //执行UserService的方法
        a.show();

        var student = container.Resolve<Student>();
        student.show();

    }
}

//生产一个 UserService类
public class UserService : IUserService
{
    public void show()
    {
        Console.WriteLine("UserService 执行");
    }
}

public interface IUserService
{
    void show();
}

//生成一个学生类
public class Student
{
    public void show()
    {
        Console.WriteLine("Student 执行");
    }
}