在Castle Windsor场景中,我想检查我的容器是否注册了某个服务,并且基本上做了
if (container.HasComponentFor<IMyService>()) {
// resolve service with container.Resolve<IMyService>()
// then do cool stuff
}
但当然,container.HasComponentFor<IMyService>()
并不存在。有没有等价的?
答案 0 :(得分:22)
您可以检查MicroKernel是否已注册该组件:
if (container.Kernel.HasComponent(typeof(IMyService)))
// resolve service with container.Resolve<IMyService>()
// then do cool stuff
}
答案 1 :(得分:3)
您可以尝试container.Kernel.HasComponent()