Castle Windsor在不创建实例的情况下解析服务实现类型

本文关键字:服务 实现 类型 情况下 Windsor 创建 实例 Castle | 更新日期: 2023-09-27 18:20:57

在Castle Windsor IoC中,如果您想找到注册服务的类型,可以通过以下方式进行:

List<Type> typeList = new List<Type>();
foreach (var item in moduleContainer.ResolveAll<IMyService>())
{
     var theType = typeof(item);
     Console.WriteLine("Found implementation: " + item.Name);
     typeList.insert(theType);
}

但是,此方法实际上创建了类型的实例

如何在不创建实例的情况下解析服务接口的实现Type

Castle Windsor在不创建实例的情况下解析服务实现类型

var handlers = container.Kernel.GetHandlers(typeof(IMyService));