<PackageReference Include="Polly.Core" Version="8.0.0-alpha.4" />

ResilienceStrategyBuilderExtensions

using Polly.Utils; using System; using System.Runtime.CompilerServices; namespace Polly { [System.Runtime.CompilerServices.NullableContext(1)] [System.Runtime.CompilerServices.Nullable(0)] public static class ResilienceStrategyBuilderExtensions { [System.Runtime.CompilerServices.Nullable(0)] internal sealed class EmptyOptions : ResilienceStrategyOptions { public static readonly EmptyOptions Instance = new EmptyOptions(); public override string StrategyType => "Empty"; } public static TBuilder AddStrategy<[System.Runtime.CompilerServices.Nullable(0)] TBuilder>(this TBuilder builder, ResilienceStrategy strategy) where TBuilder : ResilienceStrategyBuilderBase { Guard.NotNull(builder, "builder"); Guard.NotNull(strategy, "strategy"); return builder.AddStrategy((ResilienceStrategyBuilderContext _) => strategy, EmptyOptions.Instance); } public static TBuilder AddStrategy<[System.Runtime.CompilerServices.Nullable(0)] TBuilder>(this TBuilder builder, Func<ResilienceStrategyBuilderContext, ResilienceStrategy> factory, ResilienceStrategyOptions options) where TBuilder : ResilienceStrategyBuilderBase { Guard.NotNull(builder, "builder"); Guard.NotNull(factory, "factory"); Guard.NotNull(options, "options"); builder.AddStrategyCore(factory, options); return builder; } } }