使用Autofac注册泛型

时间:2015-04-10 12:21:00

标签: c# autofac

我需要在Autofac中注册一些通用接口。

使用Structure Map我使用以下内容:

 Scan(x => {
    x.AssemblyContainingType<MvcApplication>();
    x.AddAllTypesOf(typeof(IEventHandler<>));
    x.AddAllTypesOf(typeof(IOrderHandler<,>));
    x.AddAllTypesOf(typeof(IAsyncEventHandler<>));
    x.AddAllTypesOf(typeof(IAsyncOrderHandler<,>));
    x.WithDefaultConventions();
  });

在Autofac中注册这些泛型的最佳方法是什么?

我想指定四个接口......

1 个答案:

答案 0 :(得分:1)

您可以使用AsCloseTypesOf方法:

builder.RegisterAssemblyTypes(typeof(MvcApplication).Assembly)
       .AsClosedTypesOf(typeof(IEventHandler<,>))