Допустим, у нас есть следующее дерево наследования:
Base<Generic> : Base : IBase
И есть два вида реализаций:
A) Class1Operation : Base<Generic>
Class2Operation : Base<Generic>
B) Class3Operation : Base
Class4Operation : Base
Для точки AI есть что-то вроде этого:
builder.RegisterAssemblyTypes(assembly)
.Where(t => t.Name.EndsWith("Operation"))
.AsClosedTypesOf(typeof(Base<>))
.InstancePerLifetimeScope();
Как я могу зарегистрировать типы для точки B, чтобы все их (A и B) я мог разрешить через интерфейс: IBase?
РЕДАКТИРОВАТЬ
Мне удалосьчтобы сделать это, добавив следующий метод registerAssemblyTypes:
builder.RegisterAssemblyTypes(persistenceAssembly)
.Where(t => t.Name.EndsWith("Operation"))
.AssignableTo<Base>()
.AsImplementedInterfaces()
.InstancePerLifetimeScope();
и ..., кажется, разрешает ссылки в обоих примерах.