Printing handlers
Service handlers can be printed with .PrintTree() and .PrintTreeTo(textWriter).
// Create service
IService service = Services.Create(ServiceHandlers.Instance);
// Create print handlers in service
WriteLine(HandlerInfoPrintTreeExtensions.PrintTree(service));
EntryResolver ├── ContextRequestHandler ├── RequestResolver ├── ContextParameterResolver ├── ServiceSelfProvider ├── SingletonHandler<ModuleBuilderRequest,ModuleBuilder> ├── SingletonHandler<ModuleBuilderRequest,ModuleBuilderRequest> ├── SingletonHandler<AssemblyBuilderRequest,AssemblyBuilder> ├── SingletonHandler<AssemblyBuilderRequest,AssemblyBuilderRequest> ├── TypeResolver ├── NewRequestHandler ├── ServiceRequestHandler ├── ModuleBuilderFactory ├── AssemblyBuilderFactory ├── ServiceProviderSelfProvider └── BatchRequestHandler
.PrintTree() prints from IHandlerInfoProvider.
// Print handlers
WriteLine(ServiceHandlers.Instance.PrintTree());
ServiceHandlers ├── [-9200000000000000000,0,0] ContextRequestHandler ├── [-9000000000000000000,0,0] RequestResolver ├── [-8999999999999000000,0,0] ContextParameterResolver ├── [-10000,0,0] ServiceSelfProvider ├── [0,0,0] SingletonHandler<ModuleBuilderRequest,ModuleBuilder> ├── [0,0,0] SingletonHandler<ModuleBuilderRequest,ModuleBuilderRequest> ├── [0,0,0] SingletonHandler<AssemblyBuilderRequest,AssemblyBuilder> ├── [0,0,0] SingletonHandler<AssemblyBuilderRequest,AssemblyBuilderRequest> ├── [0,0,0] TypeResolver ├── [0,0,0] NewRequestHandler ├── [0,0,0] ServiceRequestHandler ├── [1000,0,0] ModuleBuilderFactory ├── [1000,0,0] AssemblyBuilderFactory ├── [10000,0,0] ServiceProviderSelfProvider └── [9200000000000000000,0,0] BatchRequestHandler
HandlerInfoPrintTreeExtensions.PrintTree(handlerSource) prints from any handler source,.
// Define handler source
object handlerSource = (ServiceHandlers.Instance, EmitHandlers.Instance);
// Create print handlers
Console.WriteLine(HandlerInfoPrintTreeExtensions.PrintTree(handlerSource));