zoukankan      html  css  js  c++  java
  • autofac实现批量注入

     省略接口和类的实现,具体如上图:

    using Autofac;
    using System;
    using System.Linq;
    using System.Reflection;
    namespace autofacBatchResolver
    {
    class Program
    {
    static void Main(string[] args)
    {
    var builder = DependencyResolver();
    using (var container = builder.Build())
    {
    IFunciton1 fun = container.Resolve<IFunciton1>();
    IService service = container.Resolve<IService>();
    Console.WriteLine(service.GetUsers());
    Console.WriteLine(fun.GetName());
    }
    Console.ReadLine();
    }
    static ContainerBuilder DependencyResolver()
    {
    var builder = new ContainerBuilder();
    Type basetype = typeof(IDependency); //获取顶级接口类型
    builder.RegisterAssemblyTypes(Assembly.GetExecutingAssembly())
    .Where(t => basetype.IsAssignableFrom(t) && t.IsClass) //查询继承自顶级接口IDependency的实现类,如果没有这句,则注册所有当前运行环境中接口实现类
    .AsImplementedInterfaces().InstancePerLifetimeScope();
    return builder;

    }
    }
    }

  • 相关阅读:
    Supervisor安装与使用
    windows常用快捷键和指令
    搜索引擎使用技巧
    golang核心Goroutine和channel
    4、小程序原生底部菜单
    三、小程序值使用vant开发
    axios请求2
    3、小程序消息推送
    居中
    一、底部菜单
  • 原文地址:https://www.cnblogs.com/sundh1981/p/13925650.html
Copyright © 2011-2022 走看看