CacheProviderExtensions
using System.Runtime.CompilerServices;
namespace Polly.Caching
{
[System.Runtime.CompilerServices.NullableContext(1)]
[System.Runtime.CompilerServices.Nullable(0)]
public static class CacheProviderExtensions
{
public static ISyncCacheProvider<TCacheFormat> For<[System.Runtime.CompilerServices.Nullable(2)] TCacheFormat>(this ISyncCacheProvider nonGenericCacheProvider)
{
return new GenericCacheProvider<TCacheFormat>(nonGenericCacheProvider);
}
public static IAsyncCacheProvider<TCacheFormat> AsyncFor<[System.Runtime.CompilerServices.Nullable(2)] TCacheFormat>(this IAsyncCacheProvider nonGenericCacheProvider)
{
return new AsyncGenericCacheProvider<TCacheFormat>(nonGenericCacheProvider);
}
public static SerializingCacheProvider<TSerialized> WithSerializer<[System.Runtime.CompilerServices.Nullable(2)] TSerialized>(this ISyncCacheProvider<TSerialized> cacheProvider, ICacheItemSerializer<object, TSerialized> serializer)
{
return new SerializingCacheProvider<TSerialized>(cacheProvider, serializer);
}
public static SerializingCacheProvider<TResult, TSerialized> WithSerializer<[System.Runtime.CompilerServices.Nullable(2)] TResult, [System.Runtime.CompilerServices.Nullable(2)] TSerialized>(this ISyncCacheProvider<TSerialized> cacheProvider, ICacheItemSerializer<TResult, TSerialized> serializer)
{
return new SerializingCacheProvider<TResult, TSerialized>(cacheProvider, serializer);
}
public static AsyncSerializingCacheProvider<TSerialized> WithSerializer<[System.Runtime.CompilerServices.Nullable(2)] TSerialized>(this IAsyncCacheProvider<TSerialized> cacheProvider, ICacheItemSerializer<object, TSerialized> serializer)
{
return new AsyncSerializingCacheProvider<TSerialized>(cacheProvider, serializer);
}
public static AsyncSerializingCacheProvider<TResult, TSerialized> WithSerializer<[System.Runtime.CompilerServices.Nullable(2)] TResult, [System.Runtime.CompilerServices.Nullable(2)] TSerialized>(this IAsyncCacheProvider<TSerialized> cacheProvider, ICacheItemSerializer<TResult, TSerialized> serializer)
{
return new AsyncSerializingCacheProvider<TResult, TSerialized>(cacheProvider, serializer);
}
}
}