如何使用Windsor容器检查实例(不仅仅是组件)是否已注册?
即。 container.ContainsInstance(typeof(MyType))
[编辑]
另一种写作方式可能是
Kernel.GetAssignableHandlers(typeof(object))
.Where(handler => handler.Service == typeof(MyType) || handler.ComponentModel.Implementation == typeof(MyType))
.Any(handler => handler.***Instance*** != null)
请注意,API中不存在属性Instance。
答案 0 :(得分:2)
官方说明没有办法检查。容器完全没有意识到用于构造实例的激活机制,这是一件好事。
非正式地,如果您不关心......非官方解决方案,您可以检查组件激活器是否属于类型(从我的头脑中)ExternalInstanceActivator
。如果是,则该组件具有从外部提供的实例。
更重要的是 - 为什么你想要那些信息吗?