<PackageReference Include="Castle.Windsor" Version="3.2.1" />

TrackedComponentsDiagnostic

using Castle.MicroKernel; using System; using System.Linq; namespace Castle.Windsor.Diagnostics { public class TrackedComponentsDiagnostic : ITrackedComponentsDiagnostic, IDiagnostic<ILookup<IHandler, object>> { public event EventHandler<TrackedInstancesEventArgs> TrackedInstancesRequested; public ILookup<IHandler, object> Inspect() { EventHandler<TrackedInstancesEventArgs> trackedInstancesRequested = this.TrackedInstancesRequested; if (trackedInstancesRequested == null) return null; TrackedInstancesEventArgs trackedInstancesEventArgs = new TrackedInstancesEventArgs(); trackedInstancesRequested(this, trackedInstancesEventArgs); return trackedInstancesEventArgs.Items.ToLookup((Burden k) => k.Handler, (Burden b) => b.Instance); } } }