<PackageReference Include="Polly" Version="5.1.1-v5-x-cachealpha0001" />

PolicyWrap<TResult>

public class PolicyWrap<TResult> : Policy<TResult>
A policy that allows two (and by recursion more) Polly policies to wrap executions of delegates.
using Polly.Utilities; using System; using System.Threading; using System.Threading.Tasks; namespace Polly.Wrap { public class PolicyWrap<TResult> : Policy<TResult> { internal override void SetPolicyContext(Context executionContext) { if (executionContext.PolicyWrapKey == null) executionContext.PolicyWrapKey = base.PolicyKey; base.SetPolicyContext(executionContext); } internal PolicyWrap(Func<Func<Context, CancellationToken, TResult>, Context, CancellationToken, TResult> policyAction) : base(policyAction, PredicateHelper.EmptyExceptionPredicates, PredicateHelper<TResult>.EmptyResultPredicates) { } internal PolicyWrap(Func<Func<Context, CancellationToken, Task<TResult>>, Context, CancellationToken, bool, Task<TResult>> policyAction) : base(policyAction, PredicateHelper.EmptyExceptionPredicates, PredicateHelper<TResult>.EmptyResultPredicates) { } } }