GenericCacheProvider<TCacheFormat>
Provides a strongly-typed wrapper over a non-generic CacheProvider.
using System;
using System.Runtime.CompilerServices;
namespace Polly.Caching
{
[System.Runtime.CompilerServices.NullableContext(1)]
[System.Runtime.CompilerServices.Nullable(0)]
internal sealed class GenericCacheProvider<[System.Runtime.CompilerServices.Nullable(2)] TCacheFormat> : ISyncCacheProvider<TCacheFormat>
{
private readonly ISyncCacheProvider _wrappedCacheProvider;
internal GenericCacheProvider(ISyncCacheProvider nonGenericCacheProvider)
{
if (nonGenericCacheProvider == null)
throw new ArgumentNullException("nonGenericCacheProvider");
_wrappedCacheProvider = nonGenericCacheProvider;
}
[return: System.Runtime.CompilerServices.Nullable(new byte[] {
0,
2
})]
(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, [System.Runtime.CompilerServices.Nullable(2)] TCacheFormat value, Ttl ttl)
{
_wrappedCacheProvider.Put(key, value, ttl);
}
}
}