首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Castle Windsor能够解析逆变泛型吗?

Castle Windsor能够解析逆变泛型吗?
EN

Stack Overflow用户
提问于 2010-12-10 22:09:26
回答 1查看 354关注 0票数 0

所以,问题是:

代码语言:javascript
复制
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这样工作:

代码语言:javascript
复制
var ctls = container.ResolveAll<IControl<Derived>>()
ctls.Lenght == 2 ?

这样我就可以得到两个实现了吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-12-11 07:16:10

你太懒了:p

我运行了下面的测试,它通过了

代码语言:javascript
复制
[Test]
public void ResolveAll_can_resolve_contravariant_components()
{
 Container.Register(Component.For<IAmContravariant<Base>>().ImplementedBy<ContravariantBase>(),
              Component.For<IAmContravariant<Derived>>().ImplementedBy<ContravariantDerived>());

 var all= Container.ResolveAll<IAmContravariant<Derived>>();
 Assert.AreEqual(2, all.Length);
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4409571

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档