Interface ICache<TKey, TValue>
Interface for a generic cache.
public interface ICache<TKey, TValue> : ICache
  Type Parameters
TKeyTValue
- Inherited Members
 
Properties
Keys
Returns the keys for all items in the cache.
List<TKey> Keys { get; }
  Property Value
- List<TKey>
 
Methods
Clear(TKey)
Clears a specific value from the cache if it's there.
void Clear(TKey key)
  Parameters
keyTKey
GetValue(TKey, Func<TKey, TValue>)
Retrieves a value out of the cache or from the source.
TValue GetValue(TKey key, Func<TKey, TValue> creator)
  Parameters
keyTKeycreatorFunc<TKey, TValue>
Returns
- TValue
 
GetValue(TKey, Func<TKey, TValue>, out bool)
Retrieves a value out of the cache or from the source. If the item was in the cache, isStaleItem is set to true; otherwise, if the item comes from the source, isStaleItem is false.
TValue GetValue(TKey key, Func<TKey, TValue> creator, out bool isStaleItem)
  Parameters
Returns
- TValue
 
UseCache<TOut>(TKey, Func<TOut>, Action, Predicate<Exception>)
Executes specified operation, catches exception, clears the cache for the given key, retries the operation.
TOut UseCache<TOut>(TKey key, Func<TOut> operation, Action onError, Predicate<Exception> shouldRetryForException)
  Parameters
Returns
- TOut
 
Type Parameters
TOut