autofac注册泛型

internal class Program
{
    static void Main(string[] args)
    {
        ContainerBuilder containerBuilder = new ContainerBuilder();
        containerBuilder.RegisterGeneric(typeof(List<>)).As(typeof(IList<>));
        containerBuilder.RegisterType<Microphone>().As<IMicrophone>();
        IContainer container = containerBuilder.Build();
        IList<IMicrophone> microphonelist = container.Resolve<IList<IMicrophone>>();
        foreach (var item in microphonelist)
        {
            item.Record();
        }
    }
}

internal class Microphone : IMicrophone
{
    public void Record()
    {
        Console.WriteLine("Recording...");
    }
}

internal interface IMicrophone
{
    void Record();
}
posted @ 2024-12-12 00:23  网络来者  阅读(25)  评论(0)    收藏  举报