/// <summary> /// Adds a middleware type to be executed. /// </summary> /// <typeparam name="TMiddleware"></typeparam> /// <returns></returns> public IPipeline <TParameter> Add <TMiddleware>() where TMiddleware : IMiddleware <TParameter> { MiddlewareTypes.Add(typeof(TMiddleware)); return(this); }
/// <summary> /// Chains a new middleware to the chain of responsibility. /// Middleware will be executed in the same order they are added. /// </summary> /// <typeparam name="TMiddleware">The new middleware being added.</typeparam> /// <returns>The current instance of <see cref="IAsyncResponsibilityChain{TParameter, TReturn}"/>.</returns> public IAsyncResponsibilityChain <TParameter, TReturn> Chain <TMiddleware>() where TMiddleware : IAsyncMiddleware <TParameter, TReturn> { MiddlewareTypes.Add(typeof(TMiddleware)); return(this); }