private void InitializeMessageHandlers(IParameterResolverFactory parameterResolverFactory, IHandlerDefinition handlerDefinition) { foreach (var method in _inspectedType.GetMethods(BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic)) { _handlerDefinition.CreateHandler(_inspectedType, method, parameterResolverFactory) .IfPresent(RegisterHandler); } foreach (var constructor in _inspectedType.GetConstructors()) { _handlerDefinition.CreateHandler(_inspectedType, constructor, parameterResolverFactory) .IfPresent(RegisterHandler); } _superClassInspectors.ForEach(sci => Handlers.AddRange(sci.Handlers)); Handlers.Sort(HandlerComparator.Instance); }
private void InitializeMessageHandlers( IParameterResolverFactory parameterResolverFactory, IHandlerDefinition handlerDefinition ) { foreach (MethodInfo method in inspectedType.GetMethods()) { var messageHandlingMember = handlerDefinition.CreateHandler <T>(inspectedType, method, parameterResolverFactory); this.RegisterHandler(messageHandlingMember); } foreach (ConstructorInfo constructor in inspectedType.GetConstructors()) { this.RegisterHandler( handlerDefinition.CreateHandler(inspectedType, constructor, parameterResolverFactory) ); } superClassInspectors.ForEach(sci => handlers.AddRange(sci.handlers)); handlers.Sort(HandlerComparator.instance()); }