GenericCacheProvider<TCacheFormat>
using System;
namespace Polly.Caching
{
public interface ICacheItemSerializer<TResult, TSerialized>
{
TSerialized Serialize(TResult objectToSerialize);
TResult Deserialize(TSerialized objectToDeserialize);
}
}
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);
}
}
}