我有一个带有方法Start的接口ISomething。 我想得到这个接口的所有实现(在多个程序集中,主要的和所有引用的),并在应用程序启动时调用Start方法。 如何使用Autofac 2.4.4.705进行此操作?
答案 0 :(得分:8)
你可以解决
IEnumerable<ISomething>
并为每个人调用“开始”
忘了提一下,你应该首先注册ISomething的所有实现。
Assembly[] assemblies = ...;
var builder = new ContainerBuilder();
builder.RegisterAssemblyTypes(assemblies).AssignableTo<ISomething>().As<ISomething>();
var container = builder.Build();
其中“assemblies”是您要注册的程序集数组。