在一系列的类中注册类型

时间:2019-07-09 11:07:17

标签: c# autofac

假设我们有以下继承树:

Base<Generic> : Base : IBase

并具有两种实现:

A) Class1Operation : Base<Generic>
   Class2Operation : Base<Generic>

B) Class3Operation : Base
   Class4Operation : Base

对于A点,我有类似以下内容:

builder.RegisterAssemblyTypes(assembly)
        .Where(t => t.Name.EndsWith("Operation"))
        .AsClosedTypesOf(typeof(Base<>))
        .InstancePerLifetimeScope();

我如何注册B点的类型,以便可以通过接口IBase解析所有类型(A和B)?

编辑

我设法通过添加下一个registerAssemblyTypes方法来做到这一点:

builder.RegisterAssemblyTypes(persistenceAssembly)
        .Where(t => t.Name.EndsWith("Operation"))
        .AssignableTo<Base>()
        .AsImplementedInterfaces()
        .InstancePerLifetimeScope();

和...似乎可以解析两个示例中的引用。

1 个答案:

答案 0 :(得分:1)

那解决了我的问题:

touchableOpacity