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

GenericCacheProvider<TCacheFormat>

class GenericCacheProvider<TCacheFormat> : ISyncCacheProvider<TCacheFormat>
Provides a strongly-typed wrapper over a non-generic CacheProvider.
using System; namespace Polly.Caching { internal class GenericCacheProvider<TCacheFormat> : ISyncCacheProvider<TCacheFormat> { private readonly ISyncCacheProvider _wrappedCacheProvider; internal GenericCacheProvider(ISyncCacheProvider nonGenericCacheProvider) { if (nonGenericCacheProvider == null) throw new ArgumentNullException("nonGenericCacheProvider"); _wrappedCacheProvider = nonGenericCacheProvider; } (bool, TCacheFormat) ISyncCacheProvider<TCacheFormat>.TryGet(string key) { (bool, object) valueTuple = _wrappedCacheProvider.TryGet(key); bool item = valueTuple.Item1; object item2 = valueTuple.Item2; return (item, (TCacheFormat)(item2 ?? ((object)default(TCacheFormat)))); } void ISyncCacheProvider<TCacheFormat>.Put(string key, TCacheFormat value, Ttl ttl) { _wrappedCacheProvider.Put(key, value, ttl); } } }