什么是正确的方法来检查已注册组件的实现?

时间:2012-10-26 12:46:17

标签: castle-windsor castle

在测试模式下(当然我不关心其他地方的实现),我想检查已注册组件的类型。我可以这样做:

        if (_container.Kernel.HasComponent(typeof(IIDAApi)))
        {
            if (_container.Resolve<IIDAApi>() is IDAApiStub)
                return;
        }

但如果可能的话,我宁愿期待注册的配置。提示?

1 个答案:

答案 0 :(得分:3)

var handler = container.Kernel.GetHandler(typeof(IFoo));

Assert.AreEqual(typeof(Foo), handler.Component.Implementation);