假设我们有以下继承树:
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();
和...似乎可以解析两个示例中的引用。
答案 0 :(得分:1)
那解决了我的问题:
touchableOpacity