private static IServiceCollection AddMessageHandlerOrderingModel <TImplementation>(this IServiceCollection services, IEnumerable <string> routePatterns, string?exchange, int order) where TImplementation : class { var patterns = routePatterns.ToList(); MessageHandlerOrderingModelExists <TImplementation>(services, patterns, exchange, order); var messageHandlerOrderingModel = new MessageHandlerOrderingModel(typeof(TImplementation), exchange, patterns, order); services.AddSingleton(messageHandlerOrderingModel); return(services); }
static IServiceCollection AddMessageHandlerOrderingModel <TImplementation>(this IServiceCollection services, IEnumerable <string> routePatterns, string exchange, int order) where TImplementation : class { MessageHandlerOrderingModelExists <TImplementation>(services, routePatterns, exchange, order); var messageHandlerOrderingModel = new MessageHandlerOrderingModel { Exchange = exchange, RoutePatterns = routePatterns, Order = order, MessageHandlerType = typeof(TImplementation) }; services.AddSingleton(messageHandlerOrderingModel); return(services); }