Search code examples
inversion-of-controlcastle-windsor

List all types registered with a Castle Windsor container instance


What's the easiest way of programatically listing registered types in Castle Windsor?

Thanks


Solution

  • Use IKernel.GetAssignableHandlers(typeof(object)):

    IWindsorContainer container = ...
    
    foreach (var handler in container.Kernel.GetAssignableHandlers(typeof(object))) {
        Console.WriteLine("{0} {1}", 
           handler.ComponentModel.Service, 
           handler.ComponentModel.Implementation);
    }