Autofac注册所有类型为IFoo,命名为IFoo.Name。
创始人
2024-11-12 12:30:30
0

以下是使用Autofac注册所有类型为IFoo并命名为IFoo.Name的代码示例:

using Autofac;

public interface IFoo
{
    string Name { get; }
}

public class Foo1 : IFoo
{
    public string Name => "Foo1";
}

public class Foo2 : IFoo
{
    public string Name => "Foo2";
}

public class Foo3 : IFoo
{
    public string Name => "Foo3";
}

public class Program
{
    public static void Main(string[] args)
    {
        var builder = new ContainerBuilder();

        // 注册所有实现了IFoo接口的类型,并以IFoo.Name命名
        builder.RegisterAssemblyTypes(typeof(Program).Assembly)
            .Where(t => t.GetInterfaces().Contains(typeof(IFoo)))
            .Named(t => ((IFoo)t).Name);

        var container = builder.Build();

        // 解析并输出所有以IFoo.Name命名的实例
        var foo1 = container.ResolveNamed("Foo1");
        var foo2 = container.ResolveNamed("Foo2");
        var foo3 = container.ResolveNamed("Foo3");

        Console.WriteLine(foo1.Name);
        Console.WriteLine(foo2.Name);
        Console.WriteLine(foo3.Name);
    }
}

在这个示例中,我们首先定义了一个IFoo接口,包含一个Name属性。然后我们实现了三个IFoo接口的具体类Foo1Foo2Foo3,每个类的Name属性返回不同的值。

接下来,在Program类中,我们使用Autofac的ContainerBuilder来构建一个容器。使用RegisterAssemblyTypes方法来注册程序集中实现了IFoo接口的所有类型,并使用Named方法以IFoo.Name作为命名。

最后,我们通过容器的ResolveNamed方法来解析以IFoo.Name命名的实例,并输出它们的Name属性值。

输出结果将会是:

Foo1
Foo2
Foo3

相关内容

热门资讯

6分钟辅助!hhpoker是真... 6分钟辅助!hhpoker是真的假的,hhpoker真的有透视吗,演示教程(真是有挂)1、每一步都需...
第七分钟辅助!we poker... 第七分钟辅助!we poker插件,we poker免费辅助器,手筋教程(有挂方式)暗藏猫腻,小编详...
七分钟辅助!aa poker辅... 七分钟辅助!aa poker辅助包,pokemmo脚本辅助器下载,讲义教程(有挂秘籍)1、pokem...
第四分钟辅助!wepoker辅... 第四分钟辅助!wepoker辅助器安装包定制,aapoker透视脚本,大纲教程(有挂总结)所有人都在...
第四分钟辅助!wpk透视辅助靠... 第四分钟辅助!wpk透视辅助靠谱吗,wepoker透视苹果系统,诀窍教程(有挂猫腻);运wepoke...
七分钟辅助!aapoker透视... 七分钟辅助!aapoker透视脚本入口,wejoker开挂,学习教程(有挂教程)1、打开软件启动之后...
第四分钟辅助!淘宝买wepok... 第四分钟辅助!淘宝买wepoker透视有用吗,wpk俱乐部怎么作弊,积累教程(有挂规律)1、下载好淘...
6分钟辅助!we-poker软... 6分钟辅助!we-poker软件,购买的wpk辅助在哪里下载,积累教程(有挂技巧)购买的wpk辅助在...
第2分钟辅助!如何下载wepo... 第2分钟辅助!如何下载wepoker安装包,newpoker怎么安装脚本,教程书教程(今日头条)1、...
4分钟辅助!wepoker钻石... 4分钟辅助!wepoker钻石怎么看底牌,wepoker辅助器有哪些功能,法门教程(有挂详细)该软件...