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类型。

相关内容

热门资讯

透视专用!wepoker私人局... 透视专用!wepoker私人局辅助器怎么用(透视)开挂辅助工具(确实存在有挂)-哔哩哔哩1、wepo...
透视有挂!wepoker透视脚... 透视有挂!wepoker透视脚本苹果版,竞技联盟透视插件,教材教程(都是真的有挂)-哔哩哔哩1、不需...
三分钟法门!越乡有辅助软件,四... 三分钟法门!越乡有辅助软件,四川途游辅助软件下载,揭秘教程(有挂技巧)-哔哩哔哩1、起透看视 四川途...
透视黑科技!线上德州的辅助器是... 透视黑科技!线上德州的辅助器是什么(透视)开挂辅助攻略(切实真的有挂)-哔哩哔哩1、玩家可以在线上德...
透视能赢!pokernow辅助... 透视能赢!pokernow辅助控制,wepoker有没有辅助,阶段教程(本来真的有挂)-哔哩哔哩1、...
九分钟窍门!乐玩游戏辅助工具,... 九分钟窍门!乐玩游戏辅助工具,新芒果监利开机贴吧,黑科技教程(有挂方法)-哔哩哔哩小薇(透视辅助)致...
透视线上!wepoker有没有... 透视线上!wepoker有没有透视方法(透视)开挂辅助方法(原来有挂)-哔哩哔哩1、进入游戏-大厅左...
九分钟策略!途游游戏辅助软件,... 九分钟策略!途游游戏辅助软件,顺欣茶楼有没有辅助,系统教程(有挂细节)-哔哩哔哩1、全新机制【顺欣茶...
透视透视!aapoker怎么开... 透视透视!aapoker怎么开辅助器,aapoker ai插件,演示教程(原来是真的挂)-哔哩哔哩1...
透视线上!sohoopoker... 透视线上!sohoopoker辅助(透视)开挂辅助插件(好像存在有挂)-哔哩哔哩1、任何sohoop...