public static ISuperSocketHostBuilder <TReceivePackage> UsePipelineFilterFactory <TReceivePackage>(this ISuperSocketHostBuilder <TReceivePackage> hostBuilder, Func <object, IPipelineFilter <TReceivePackage> > filterFactory) { hostBuilder.ConfigureServices( (hostCtx, services) => { services.AddSingleton <Func <object, IPipelineFilter <TReceivePackage> > >(filterFactory); } ); return(hostBuilder.UsePipelineFilterFactory <DelegatePipelineFilterFactory <TReceivePackage> >()); }