温莎城堡能够解决逆变泛型吗?
所以,问题是:
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
{
}
是否有可能让 Windsor 像这样工作:
var ctls = container.ResolveAll<IControl<Derived>>()
ctls.Lenght == 2 ?
所以我可以获得这两种实现?
So, the problem:
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
{
}
Is it possible to make Windsor work like this:
var ctls = container.ResolveAll<IControl<Derived>>()
ctls.Lenght == 2 ?
So I could get both implementations?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
你很懒:p
我运行了以下测试并且它通过了
You're lazy :p
I ran the following test and it passes