Итак, проблема:
interface IControl<in T> where T : Base
{
void Execute(T item);
}
class ControlDerived : IControl<Derived>
{
public void Execute(Derived item)
{
}
}
class ControlBase : IControl<Base>
{
public void Execute(Base item)
{
}
}
class Derived : Base
{
}
Можно ли заставить Виндзор работать так:
var ctls = container.ResolveAll<IControl<Derived>>()
ctls.Lenght == 2 ?
Так я мог бы получить обе реализации?