<PackageReference Include="Polly" Version="8.6.4" />

IPolicyWrapExtension

public static class IPolicyWrapExtension
Extension methods for IPolicyWrap.
using System; using System.Collections.Generic; using System.Linq; using System.Runtime.CompilerServices; namespace Polly.Wrap { public static class IPolicyWrapExtension { public static IEnumerable<IsPolicy> GetPolicies(this IPolicyWrap policyWrap) { if (policyWrap == null) throw new ArgumentNullException("policyWrap"); return GetPoliciesIterator(policyWrap); } public static IEnumerable<TPolicy> GetPolicies<TPolicy>(this IPolicyWrap policyWrap) { return policyWrap.GetPolicies().OfType<TPolicy>(); } public static IEnumerable<TPolicy> GetPolicies<TPolicy>(this IPolicyWrap policyWrap, Func<TPolicy, bool> filter) { if (filter == null) throw new ArgumentNullException("filter"); return policyWrap.GetPolicies().OfType<TPolicy>().Where(filter); } public static TPolicy GetPolicy<TPolicy>(this IPolicyWrap policyWrap) { return policyWrap.GetPolicies().OfType<TPolicy>().SingleOrDefault(); } public static TPolicy GetPolicy<TPolicy>(this IPolicyWrap policyWrap, Func<TPolicy, bool> filter) { if (filter == null) throw new ArgumentNullException("filter"); return policyWrap.GetPolicies().OfType<TPolicy>().SingleOrDefault(filter); } [IteratorStateMachine(typeof(<GetPoliciesIterator>d__5))] private static IEnumerable<IsPolicy> GetPoliciesIterator(IPolicyWrap policyWrap) { <GetPoliciesIterator>d__5 <GetPoliciesIterator>d__ = new <GetPoliciesIterator>d__5(-2); <GetPoliciesIterator>d__.<>3__policyWrap = policyWrap; return <GetPoliciesIterator>d__; } } }