c# - 如何使用 .net 核心默认服务容器注册特定接口(interface)的所有类

标签 c# dependency-injection asp.net-core asp.net-core-mvc

在 unity 中,我可以使用这种方式从程序集中注册所有类型的接口(interface)。

    public static void RegisterTypes(IUnityContainer container)
    {

        container.RegisterTypes(
            AllClasses.FromLoadedAssemblies().
                Where(
                    type =>
                        typeof (IRunAtInit).IsAssignableFrom(type),
            WithMappings.FromAllInterfaces,
            WithName.TypeName);

              }

是否可以使用自己的默认服务容器以这种方式实现 .net 核心?

最佳答案

尝试使用 Scrutor 扩展:https://github.com/khellang/Scrutor

services.Scan(scan => scan
    .FromAssemblyOf<IRunAtInit>()
    .AddClasses(classes => classes.AssignableTo<IRunAtInit>())
    .AsImplementedInterfaces()
    .WithTransientLifetime());

关于c# - 如何使用 .net 核心默认服务容器注册特定接口(interface)的所有类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38213271/

相关文章:

node.js - 如何根据 Onion/Clean Architecture 原则实现 NodeJS 组件?

ASP.NET 5 MVC (Visual Studio 2015) : a keyword called Inject

mysql - 使用asp.net core查询Mysql数据库

javascript - 在编译并运送给客户端之前,根据每个组件的权限控制来捆绑 react 组件

c# - 如何直接在 MySQL 中更新 magento stock

c# - Nancy 应用程序的动态站点地图生成器

java - Dagger 2 如何解决构造函数依赖

c# - 在 C# 中绘制图表时避免空值

c# - 如何调用 MVC 操作来下载 PDF 文件?

c# - 使用 IoC 容器时,原始构造函数参数是一个坏主意吗?