我在项目中使用了依赖注入,想知道是否可以更轻松地注册我的所有30多个继承某个接口的类,而每个类都使用来继承某个接口,那样动态地工作。
我已经在Google,SO,RJ,YHA和其他问答网站上进行了查询,但没有任何帮助。它只是说明了您是否已经拥有这些类的集合,而没有一个仅通过接口显示如何做。
例如,我需要获取Class1、2和3以及所有继承IClass的其他分类的列表。
class Class1 : IClass {}
class Class2 : IClass {}
class Class3 : IClass {}
如果以后要声明这些内容,也会找到它们。
class Class4 : IClass {}
class Class5 : IClass {}
class Class6 : IClass {}
答案 0 :(得分:2)
var dataAccess = Assembly.GetExecutingAssembly();
builder
.RegisterAssemblyTypes(dataAccess)
.Where(t => t.Name.EndsWith("Repository"))
.AsImplementedInterfaces();
此示例显示如何在执行程序集时注册所有存储库。因为您的组件实现了相同的接口,所以我猜您可以找到一些命名模式来像这样注册它们。