Autofac中,RegisterAssemblyOpenGenericTypes和RegisterAssemblyTypeswithAsClosedTypesOf的区别是什么?
创始人
2024-11-12 12:30:23
0

在Autofac中,RegisterAssemblyOpenGenericTypes()方法具有通用的特性,而RegisterAssemblyTypes().AsClosedTypesOf()方法则是用于将已知类型关闭为指定的泛型类型。 例如,在以下示例中,你可以看到如何使用RegisterAssemblyOpenGenericTypes()方法来注册泛型类型,以及如何使用RegisterAssemblyTypes().AsClosedTypesOf()方法通过关闭现有类型来注册指定泛型类型:

using Autofac;
using System.Linq;
using System.Reflection;

public class ExampleModule : Autofac.Module
{
    protected override void Load(ContainerBuilder builder)
    {
        // Register all open generic types in a specific assembly as themselves.
        builder.RegisterAssemblyOpenGenericTypes(Assembly.GetExecutingAssembly())
            .AsSelf();

        // Register all types in a specific assembly that close some known type as that type.
        builder.RegisterAssemblyTypes(Assembly.GetExecutingAssembly())
            .AsClosedTypesOf(typeof(ILogger<>));
    }
}

以上示例中,使用RegisterAssemblyOpenGenericTypes()方法,注册了当前程序集中的所有开放泛型类型,并将它们都注册为它们自己。这就是使用RegisterAssemblyOpenGenericTypes()方法注册泛型类型的一个示例。

另一方面,使用RegisterAssemblyTypes().AsClosedTypesOf()方法,则可以使用现有的类型,将它们关闭为指定的泛型类型。例如,在示例中将所有的ILogger<>类型都关闭为已知的ILogger类型。

相关内容

热门资讯

黑科技教程!wepoke软件透... 黑科技教程!wepoke软件透明挂是真的么(透明挂)总是真的有挂(有挂轻量版)-哔哩哔哩准备好在we...
黑科技神器!微扑克有假吗(黑科... 黑科技神器!微扑克有假吗(黑科技)从来存在有挂(有挂免费)-哔哩哔哩;支持2-10人实时对战,虚拟庄...
黑科技美元局!aa扑克辅助(透... 黑科技美元局!aa扑克辅助(透明挂)一贯是真的有挂(有挂长期)-哔哩哔哩;《WPK辅助透视》‌:支持...
黑科技美元局!好运大菠萝有辅助... 黑科技美元局!好运大菠萝有辅助吗(ai辅助)确实有挂(有挂私人房)-哔哩哔哩;《WPK辅助透视》‌:...
黑科技存在!微扑克有挂吗(ai... 黑科技存在!微扑克有挂吗(ai辅助)一直是有挂(有挂私人房)-哔哩哔哩;支持多人共享记分板与复盘,通...
黑科技玄学!wepoke怎么使... 黑科技玄学!wepoke怎么使用模拟器(透视)果然是真的有挂(有挂大厅房)-哔哩哔哩1、很好的工具软...
黑科技透明挂!微扑克线上代打(... 此外,数据分析德州(微扑克线上代打)辅助神器app还具备辅助透视行为开挂功能,通过对客户微扑克线上代...
黑科技玄学!gg扑克有赢的吗(... 黑科技玄学!gg扑克有赢的吗(ai辅助)真是有挂(有挂新版)-哔哩哔哩;《WPK辅助透视》‌:支持手...
辅助黑科技!德扑之星怎么清楚数... 辅助黑科技!德扑之星怎么清楚数据(辅助挂)从来真的有挂(有挂盈利)-哔哩哔哩1、点击下载安装,微扑克...
黑科技安装!gg扑克有辅助吗(... 黑科技安装!gg扑克有辅助吗(辅助挂)真是存在有挂(有挂系统)-哔哩哔哩1、点击下载安装,微扑克wp...