public static IHandler<TNewInput, TNewOutput> ConvertedBy<TInput, TOutput, TNewInput, TNewOutput>( this IHandler<TInput, TOutput> handler, IFullConverter<TInput, TOutput, TNewInput, TNewOutput> fullConverter) { fullConverter = fullConverter ?? throw new ArgumentNullException(nameof(fullConverter)); handler = handler ?? throw new ArgumentNullException(nameof(handler)); return new FullConvertedHandler<TInput, TOutput, TNewInput, TNewOutput>(fullConverter, handler); }
public FullConvertedHandler(IFullConverter <TInput, TOutput, TNewInput, TNewOutput> innerFullConverter, IHandler <TInput, TOutput> innerHandler) { _innerFullConverter = innerFullConverter ?? throw new ArgumentNullException(nameof(innerFullConverter)); _innerHandler = innerHandler ?? throw new ArgumentNullException(nameof(innerHandler)); }