TrackedComponentsDiagnostic
public class TrackedComponentsDiagnostic : ITrackedComponentsDiagnostic, IDiagnostic<ILookup<IHandler, object>>
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);
}
}
}