Ejemplo n.º 1
0
 public AttributesHandlerFactory(IServiceProvider serviceProvider, IParametersMatcher parametersMatcher)
 {
     _serviceProvider   = serviceProvider;
     _parametersMatcher = parametersMatcher;
     _descriptors       = Assembly.GetEntryAssembly()
                          .GetTypes()
                          .Where(t => t.Name.EndsWith("Controller"))
                          .SelectMany(type => type.GetMethods(BindingFlags.Instance | BindingFlags.Public).Select(method => new { type, method }))
                          .SelectMany(tuple => tuple.method.GetCustomAttributes <HandlerAttribute>().Select(attr => new { tuple.type, tuple.method, attr }))
                          .Select(tuple => HandlerDescriptor.Create(tuple.method, tuple.attr))
                          .ToList();
 }
Ejemplo n.º 2
0
 public Handler(IServiceProvider serviceProvider, IParametersMatcher parametersMatcher, MethodInfo method)
 {
     _serviceProvider   = serviceProvider;
     _parametersMatcher = parametersMatcher;
     _method            = method;
 }