/// <summary> /// Adds the given <paramref name="factory"/> to services. /// It will be used for configuring the <see cref="IranKishGatewayOptions"/>. /// </summary> /// <param name="builder"></param> /// <param name="factory"></param> /// <param name="serviceLifetime">Lifetime of <paramref name="factory"/>.</param> public static IGatewayConfigurationBuilder <IranKishGateway> WithOptionsProvider( this IGatewayConfigurationBuilder <IranKishGateway> builder, Func <IServiceProvider, IParbadOptionsProvider <IranKishGatewayOptions> > factory, ServiceLifetime serviceLifetime) { if (builder == null) { throw new ArgumentNullException(nameof(builder)); } return(builder.WithOptionsProvider <IranKishGateway, IranKishGatewayOptions>(factory, serviceLifetime)); }
/// <summary> /// Adds the given <typeparamref name="TOptionsProvider"/> to services. /// It will be used for configuring the <see cref="IranKishGatewayOptions"/>. /// </summary> /// <typeparam name="TOptionsProvider"></typeparam> /// <param name="builder"></param> /// <param name="serviceLifetime">Lifetime of <typeparamref name="TOptionsProvider"/>.</param> public static IGatewayConfigurationBuilder <IranKishGateway> WithOptionsProvider <TOptionsProvider>( this IGatewayConfigurationBuilder <IranKishGateway> builder, ServiceLifetime serviceLifetime) where TOptionsProvider : class, IParbadOptionsProvider <IranKishGatewayOptions> { if (builder == null) { throw new ArgumentNullException(nameof(builder)); } return(builder.WithOptionsProvider <IranKishGateway, IranKishGatewayOptions, TOptionsProvider>(serviceLifetime)); }