RJP Software Blog

.Net info and code snippets

Archive for the ‘Windsor’ Category

Windsor Inspector

without comments

Here is a useful utility class for inspecting the contents of the Windsor container:

public class WindsorContainerInspector
{
    private readonly IWindsorContainer _container;
    public WindsorContainerInspector(IWindsorContainer container)
    {
        _container = container;
    }

    public IList> ListDependencies()
    {
        var dependencies = new List>();

        foreach (var node in _container.Kernel.GraphNodes)
        {
            ComponentModel dependingNode = (ComponentModel) node;

            foreach (GraphNode depender in node.Dependents)
            {
                var dependerNode = (ComponentModel)depender;

                dependencies.Add(new KeyValuePair(
                        dependingNode,
                        dependerNode));
            }
        }

        return dependencies;
    }
}

Written by Rich

February 8th, 2012 at 3:50 pm

Posted in Windsor