Class CacheEnumerableExtensions
- Namespace
- Cuemon.Extensions.Runtime.Caching
- Assembly
- Cuemon.Extensions.Runtime.Caching.dll
Extension methods for the ICacheEnumerable<TKey> interface.
public static class CacheEnumerableExtensions
- Inheritance
-
CacheEnumerableExtensions
Fields
MemoizationScope
Represents a cache with a scope of Memoization.
public const string MemoizationScope = "Memoization"
Field Value
Methods
GetOrAdd<TKey, TResult>(ICacheEnumerable<TKey>, string, CacheInvalidation, Func<TResult>)
Gets the value for the specified key from the cache, or if the key does not exists, adds a value to the cache using the specified function delegate valueFactory.
public static TResult GetOrAdd<TKey, TResult>(this ICacheEnumerable<TKey> cache, string key, CacheInvalidation invalidation, Func<TResult> valueFactory)
Parameters
cacheICacheEnumerable<TKey>The ICacheEnumerable<TKey> to extend.
keystringThe unique identifier for the cache entry.
invalidationCacheInvalidationThe object that contains expiration details for a specific cache entry.
valueFactoryFunc<TResult>The function delegate used to provide a value for the
key.
Returns
- TResult
The value for the specified
key. This will either be the existing value if thekeyis already in the cache, or the new value returned byvalueFactoryif thekeywas not in the cache.
Type Parameters
TKeyThe type of the key in the cache.
TResultThe type of the value in the cache.
GetOrAdd<TKey, TResult>(ICacheEnumerable<TKey>, string, IDependency, Func<TResult>)
Gets the value for the specified key from the cache, or if the key does not exists, adds a value to the cache using the specified function delegate valueFactory.
public static TResult GetOrAdd<TKey, TResult>(this ICacheEnumerable<TKey> cache, string key, IDependency dependency, Func<TResult> valueFactory)
Parameters
cacheICacheEnumerable<TKey>The ICacheEnumerable<TKey> to extend.
keystringThe unique identifier for the cache entry.
dependencyIDependencyAn IDependency implementations that monitors changes in the state of the data which a cache entry depends on. If a state change is registered, the cached entry becomes invalid and is removed from the cache.
valueFactoryFunc<TResult>The function delegate used to provide a value for the
key.
Returns
- TResult
The value for the specified
key. This will either be the existing value if thekeyis already in the cache, or the new value returned byvalueFactoryif thekeywas not in the cache.
Type Parameters
TKeyThe type of the key in the cache.
TResultThe type of the value in the cache.
GetOrAdd<TKey, TResult>(ICacheEnumerable<TKey>, string, IEnumerable<IDependency>, Func<TResult>)
Gets the value for the specified key from the cache, or if the key does not exists, adds a value to the cache using the specified function delegate valueFactory.
public static TResult GetOrAdd<TKey, TResult>(this ICacheEnumerable<TKey> cache, string key, IEnumerable<IDependency> dependencies, Func<TResult> valueFactory)
Parameters
cacheICacheEnumerable<TKey>The ICacheEnumerable<TKey> to extend.
keystringThe unique identifier for the cache entry.
dependenciesIEnumerable<IDependency>A sequence of IDependency implementations that monitors changes in the state of the data which a cache entry depends on. If a state change is registered, the cached entry becomes invalid and is removed from the cache.
valueFactoryFunc<TResult>The function delegate used to provide a value for the
key.
Returns
- TResult
The value for the specified
key. This will either be the existing value if thekeyis already in the cache, or the new value returned byvalueFactoryif thekeywas not in the cache.
Type Parameters
TKeyThe type of the key in the cache.
TResultThe type of the value in the cache.
GetOrAdd<TKey, TResult>(ICacheEnumerable<TKey>, string, DateTime, Func<TResult>)
Gets the value for the specified key from the cache, or if the key does not exists, adds a value to the cache using the specified function delegate valueFactory.
public static TResult GetOrAdd<TKey, TResult>(this ICacheEnumerable<TKey> cache, string key, DateTime absoluteExpiration, Func<TResult> valueFactory)
Parameters
cacheICacheEnumerable<TKey>The ICacheEnumerable<TKey> to extend.
keystringThe unique identifier for the cache entry.
absoluteExpirationDateTimeThe absolute expiration date time value from when the cached entry becomes invalid and is removed from the cache.
valueFactoryFunc<TResult>The function delegate used to provide a value for the
key.
Returns
- TResult
The value for the specified
key. This will either be the existing value if thekeyis already in the cache, or the new value returned byvalueFactoryif thekeywas not in the cache.
Type Parameters
TKeyThe type of the key in the cache.
TResultThe type of the value in the cache.
GetOrAdd<TKey, TResult>(ICacheEnumerable<TKey>, string, string, CacheInvalidation, Func<TResult>)
Gets the value for the specified key from the cache, or if the key does not exists, adds a value to the cache using the specified function delegate valueFactory.
public static TResult GetOrAdd<TKey, TResult>(this ICacheEnumerable<TKey> cache, string key, string ns, CacheInvalidation invalidation, Func<TResult> valueFactory)
Parameters
cacheICacheEnumerable<TKey>The ICacheEnumerable<TKey> to extend.
keystringThe unique identifier for the cache entry.
nsstringThe optional namespace that provides a scope to the cache. Default is NoScope.
invalidationCacheInvalidationThe object that contains expiration details for a specific cache entry.
valueFactoryFunc<TResult>The function delegate used to provide a value for the
key.
Returns
- TResult
The value for the specified
key. This will either be the existing value if thekeyis already in the cache, or the new value returned byvalueFactoryif thekeywas not in the cache.
Type Parameters
TKeyThe type of the key in the cache.
TResultThe type of the value in the cache.
GetOrAdd<TKey, TResult>(ICacheEnumerable<TKey>, string, string, IDependency, Func<TResult>)
Gets the value for the specified key from the cache, or if the key does not exists, adds a value to the cache using the specified function delegate valueFactory.
public static TResult GetOrAdd<TKey, TResult>(this ICacheEnumerable<TKey> cache, string key, string ns, IDependency dependency, Func<TResult> valueFactory)
Parameters
cacheICacheEnumerable<TKey>The ICacheEnumerable<TKey> to extend.
keystringThe unique identifier for the cache entry.
nsstringThe optional namespace that provides a scope to the cache. Default is NoScope.
dependencyIDependencyAn IDependency implementations that monitors changes in the state of the data which a cache entry depends on. If a state change is registered, the cached entry becomes invalid and is removed from the cache.
valueFactoryFunc<TResult>The function delegate used to provide a value for the
key.
Returns
- TResult
The value for the specified
key. This will either be the existing value if thekeyis already in the cache, or the new value returned byvalueFactoryif thekeywas not in the cache.
Type Parameters
TKeyThe type of the key in the cache.
TResultThe type of the value in the cache.
GetOrAdd<TKey, TResult>(ICacheEnumerable<TKey>, string, string, IEnumerable<IDependency>, Func<TResult>)
Gets the value for the specified key from the cache, or if the key does not exists, adds a value to the cache using the specified function delegate valueFactory.
public static TResult GetOrAdd<TKey, TResult>(this ICacheEnumerable<TKey> cache, string key, string ns, IEnumerable<IDependency> dependencies, Func<TResult> valueFactory)
Parameters
cacheICacheEnumerable<TKey>The ICacheEnumerable<TKey> to extend.
keystringThe unique identifier for the cache entry.
nsstringThe optional namespace that provides a scope to the cache. Default is NoScope.
dependenciesIEnumerable<IDependency>A sequence of IDependency implementations that monitors changes in the state of the data which a cache entry depends on. If a state change is registered, the cached entry becomes invalid and is removed from the cache.
valueFactoryFunc<TResult>The function delegate used to provide a value for the
key.
Returns
- TResult
The value for the specified
key. This will either be the existing value if thekeyis already in the cache, or the new value returned byvalueFactoryif thekeywas not in the cache.
Type Parameters
TKeyThe type of the key in the cache.
TResultThe type of the value in the cache.
GetOrAdd<TKey, TResult>(ICacheEnumerable<TKey>, string, string, DateTime, Func<TResult>)
Gets the value for the specified key from the cache, or if the key does not exists, adds a value to the cache using the specified function delegate valueFactory.
public static TResult GetOrAdd<TKey, TResult>(this ICacheEnumerable<TKey> cache, string key, string ns, DateTime absoluteExpiration, Func<TResult> valueFactory)
Parameters
cacheICacheEnumerable<TKey>The ICacheEnumerable<TKey> to extend.
keystringThe unique identifier for the cache entry.
nsstringThe optional namespace that provides a scope to the cache. Default is NoScope.
absoluteExpirationDateTimeThe absolute expiration date time value from when the cached entry becomes invalid and is removed from the cache.
valueFactoryFunc<TResult>The function delegate used to provide a value for the
key.
Returns
- TResult
The value for the specified
key. This will either be the existing value if thekeyis already in the cache, or the new value returned byvalueFactoryif thekeywas not in the cache.
Type Parameters
TKeyThe type of the key in the cache.
TResultThe type of the value in the cache.
GetOrAdd<TKey, TResult>(ICacheEnumerable<TKey>, string, string, TimeSpan, Func<TResult>)
Gets the value for the specified key from the cache, or if the key does not exists, adds a value to the cache using the specified function delegate valueFactory.
public static TResult GetOrAdd<TKey, TResult>(this ICacheEnumerable<TKey> cache, string key, string ns, TimeSpan slidingExpiration, Func<TResult> valueFactory)
Parameters
cacheICacheEnumerable<TKey>The ICacheEnumerable<TKey> to extend.
keystringThe unique identifier for the cache entry.
nsstringThe optional namespace that provides a scope to the cache. Default is NoScope.
slidingExpirationTimeSpanThe sliding expiration time from when the cached entry becomes invalid and is removed from the cache.
valueFactoryFunc<TResult>The function delegate used to provide a value for the
key.
Returns
- TResult
The value for the specified
key. This will either be the existing value if thekeyis already in the cache, or the new value returned byvalueFactoryif thekeywas not in the cache.
Type Parameters
TKeyThe type of the key in the cache.
TResultThe type of the value in the cache.
GetOrAdd<TKey, TResult>(ICacheEnumerable<TKey>, string, TimeSpan, Func<TResult>)
Gets the value for the specified key from the cache, or if the key does not exists, adds a value to the cache using the specified function delegate valueFactory.
public static TResult GetOrAdd<TKey, TResult>(this ICacheEnumerable<TKey> cache, string key, TimeSpan slidingExpiration, Func<TResult> valueFactory)
Parameters
cacheICacheEnumerable<TKey>The ICacheEnumerable<TKey> to extend.
keystringThe unique identifier for the cache entry.
slidingExpirationTimeSpanThe sliding expiration time from when the cached entry becomes invalid and is removed from the cache.
valueFactoryFunc<TResult>The function delegate used to provide a value for the
key.
Returns
- TResult
The value for the specified
key. This will either be the existing value if thekeyis already in the cache, or the new value returned byvalueFactoryif thekeywas not in the cache.
Type Parameters
TKeyThe type of the key in the cache.
TResultThe type of the value in the cache.
Memoize<TKey, TResult>(ICacheEnumerable<TKey>, CacheInvalidation, Func<TResult>)
Memoizes the specified valueFactory in the cache for fast access.
public static Func<TResult> Memoize<TKey, TResult>(this ICacheEnumerable<TKey> cache, CacheInvalidation invalidation, Func<TResult> valueFactory)
Parameters
cacheICacheEnumerable<TKey>The ICacheEnumerable<TKey> to extend.
invalidationCacheInvalidationThe object that contains expiration details for a specific cache entry.
valueFactoryFunc<TResult>The function delegate used to provide a memoized value.
Returns
- Func<TResult>
A memoized function delegate that is otherwise equivalent to
valueFactory.
Type Parameters
TKeyThe type of the key in the cache.
TResultThe type of the value in the cache.
Memoize<TKey, TResult>(ICacheEnumerable<TKey>, IDependency, Func<TResult>)
Memoizes the specified valueFactory in the cache for fast access.
public static Func<TResult> Memoize<TKey, TResult>(this ICacheEnumerable<TKey> cache, IDependency dependency, Func<TResult> valueFactory)
Parameters
cacheICacheEnumerable<TKey>The ICacheEnumerable<TKey> to extend.
dependencyIDependencyAn IDependency implementations that monitors changes in the state of the data which a cache entry depends on. If a state change is registered, the cached entry becomes invalid and is removed from the cache.
valueFactoryFunc<TResult>The function delegate used to provide a memoized value.
Returns
- Func<TResult>
A memoized function delegate that is otherwise equivalent to
valueFactory.
Type Parameters
TKeyThe type of the key in the cache.
TResultThe type of the value in the cache.
Memoize<TKey, TResult>(ICacheEnumerable<TKey>, IEnumerable<IDependency>, Func<TResult>)
Memoizes the specified valueFactory in the cache for fast access.
public static Func<TResult> Memoize<TKey, TResult>(this ICacheEnumerable<TKey> cache, IEnumerable<IDependency> dependencies, Func<TResult> valueFactory)
Parameters
cacheICacheEnumerable<TKey>The ICacheEnumerable<TKey> to extend.
dependenciesIEnumerable<IDependency>A sequence of IDependency implementations that monitors changes in the state of the data which a cache entry depends on. If a state change is registered, the cached entry becomes invalid and is removed from the cache.
valueFactoryFunc<TResult>The function delegate used to provide a memoized value.
Returns
- Func<TResult>
A memoized function delegate that is otherwise equivalent to
valueFactory.
Type Parameters
TKeyThe type of the key in the cache.
TResultThe type of the value in the cache.
Memoize<TKey, TResult>(ICacheEnumerable<TKey>, DateTime, Func<TResult>)
Memoizes the specified valueFactory in the cache for fast access.
public static Func<TResult> Memoize<TKey, TResult>(this ICacheEnumerable<TKey> cache, DateTime absoluteExpiration, Func<TResult> valueFactory)
Parameters
cacheICacheEnumerable<TKey>The ICacheEnumerable<TKey> to extend.
absoluteExpirationDateTimeThe absolute expiration date time value from when the cached entry becomes invalid and is removed from the cache.
valueFactoryFunc<TResult>The function delegate used to provide a memoized value.
Returns
- Func<TResult>
A memoized function delegate that is otherwise equivalent to
valueFactory.
Type Parameters
TKeyThe type of the key in the cache.
TResultThe type of the value in the cache.
Memoize<TKey, TResult>(ICacheEnumerable<TKey>, TimeSpan, Func<TResult>)
Memoizes the specified valueFactory in the cache for fast access.
public static Func<TResult> Memoize<TKey, TResult>(this ICacheEnumerable<TKey> cache, TimeSpan slidingExpiration, Func<TResult> valueFactory)
Parameters
cacheICacheEnumerable<TKey>The ICacheEnumerable<TKey> to extend.
slidingExpirationTimeSpanThe sliding expiration time from when the cached entry becomes invalid and is removed from the cache.
valueFactoryFunc<TResult>The function delegate used to provide a memoized value.
Returns
- Func<TResult>
A memoized function delegate that is otherwise equivalent to
valueFactory.
Type Parameters
TKeyThe type of the key in the cache.
TResultThe type of the value in the cache.
Memoize<TKey, T, TResult>(ICacheEnumerable<TKey>, CacheInvalidation, Func<T, TResult>)
Memoizes the specified valueFactory in the cache for fast access.
public static Func<T, TResult> Memoize<TKey, T, TResult>(this ICacheEnumerable<TKey> cache, CacheInvalidation invalidation, Func<T, TResult> valueFactory)
Parameters
cacheICacheEnumerable<TKey>The ICacheEnumerable<TKey> to extend.
invalidationCacheInvalidationThe object that contains expiration details for a specific cache entry.
valueFactoryFunc<T, TResult>The function delegate used to provide a memoized value.
Returns
- Func<T, TResult>
A memoized function delegate that is otherwise equivalent to
valueFactory.
Type Parameters
TKeyThe type of the key in the cache.
TThe type of the parameter of the delegate
valueFactory.TResultThe type of the value in the cache.
Memoize<TKey, T, TResult>(ICacheEnumerable<TKey>, IDependency, Func<T, TResult>)
Memoizes the specified valueFactory in the cache for fast access.
public static Func<T, TResult> Memoize<TKey, T, TResult>(this ICacheEnumerable<TKey> cache, IDependency dependency, Func<T, TResult> valueFactory)
Parameters
cacheICacheEnumerable<TKey>The ICacheEnumerable<TKey> to extend.
dependencyIDependencyAn IDependency implementations that monitors changes in the state of the data which a cache entry depends on. If a state change is registered, the cached entry becomes invalid and is removed from the cache.
valueFactoryFunc<T, TResult>The function delegate used to provide a memoized value.
Returns
- Func<T, TResult>
A memoized function delegate that is otherwise equivalent to
valueFactory.
Type Parameters
TKeyThe type of the key in the cache.
TThe type of the parameter of the delegate
valueFactory.TResultThe type of the value in the cache.
Memoize<TKey, T, TResult>(ICacheEnumerable<TKey>, IEnumerable<IDependency>, Func<T, TResult>)
Memoizes the specified valueFactory in the cache for fast access.
public static Func<T, TResult> Memoize<TKey, T, TResult>(this ICacheEnumerable<TKey> cache, IEnumerable<IDependency> dependencies, Func<T, TResult> valueFactory)
Parameters
cacheICacheEnumerable<TKey>The ICacheEnumerable<TKey> to extend.
dependenciesIEnumerable<IDependency>A sequence of IDependency implementations that monitors changes in the state of the data which a cache entry depends on. If a state change is registered, the cached entry becomes invalid and is removed from the cache.
valueFactoryFunc<T, TResult>The function delegate used to provide a memoized value.
Returns
- Func<T, TResult>
A memoized function delegate that is otherwise equivalent to
valueFactory.
Type Parameters
TKeyThe type of the key in the cache.
TThe type of the parameter of the delegate
valueFactory.TResultThe type of the value in the cache.
Memoize<TKey, T, TResult>(ICacheEnumerable<TKey>, DateTime, Func<T, TResult>)
Memoizes the specified valueFactory in the cache for fast access.
public static Func<T, TResult> Memoize<TKey, T, TResult>(this ICacheEnumerable<TKey> cache, DateTime absoluteExpiration, Func<T, TResult> valueFactory)
Parameters
cacheICacheEnumerable<TKey>The ICacheEnumerable<TKey> to extend.
absoluteExpirationDateTimeThe absolute expiration date time value from when the cached entry becomes invalid and is removed from the cache.
valueFactoryFunc<T, TResult>The function delegate used to provide a memoized value.
Returns
- Func<T, TResult>
A memoized function delegate that is otherwise equivalent to
valueFactory.
Type Parameters
TKeyThe type of the key in the cache.
TThe type of the parameter of the delegate
valueFactory.TResultThe type of the value in the cache.
Memoize<TKey, T, TResult>(ICacheEnumerable<TKey>, TimeSpan, Func<T, TResult>)
Memoizes the specified valueFactory in the cache for fast access.
public static Func<T, TResult> Memoize<TKey, T, TResult>(this ICacheEnumerable<TKey> cache, TimeSpan slidingExpiration, Func<T, TResult> valueFactory)
Parameters
cacheICacheEnumerable<TKey>The ICacheEnumerable<TKey> to extend.
slidingExpirationTimeSpanThe sliding expiration time from when the cached entry becomes invalid and is removed from the cache.
valueFactoryFunc<T, TResult>The function delegate used to provide a memoized value.
Returns
- Func<T, TResult>
A memoized function delegate that is otherwise equivalent to
valueFactory.
Type Parameters
TKeyThe type of the key in the cache.
TThe type of the parameter of the delegate
valueFactory.TResultThe type of the value in the cache.
Memoize<TKey, T1, T2, TResult>(ICacheEnumerable<TKey>, CacheInvalidation, Func<T1, T2, TResult>)
Memoizes the specified valueFactory in the cache for fast access.
public static Func<T1, T2, TResult> Memoize<TKey, T1, T2, TResult>(this ICacheEnumerable<TKey> cache, CacheInvalidation invalidation, Func<T1, T2, TResult> valueFactory)
Parameters
cacheICacheEnumerable<TKey>The ICacheEnumerable<TKey> to extend.
invalidationCacheInvalidationThe object that contains expiration details for a specific cache entry.
valueFactoryFunc<T1, T2, TResult>The function delegate used to provide a memoized value.
Returns
- Func<T1, T2, TResult>
A memoized function delegate that is otherwise equivalent to
valueFactory.
Type Parameters
TKeyThe type of the key in the cache.
T1The type of the first parameter of the delegate
valueFactory.T2The type of the second parameter of the delegate
valueFactory.TResultThe type of the value in the cache.
Memoize<TKey, T1, T2, TResult>(ICacheEnumerable<TKey>, IDependency, Func<T1, T2, TResult>)
Memoizes the specified valueFactory in the cache for fast access.
public static Func<T1, T2, TResult> Memoize<TKey, T1, T2, TResult>(this ICacheEnumerable<TKey> cache, IDependency dependency, Func<T1, T2, TResult> valueFactory)
Parameters
cacheICacheEnumerable<TKey>The ICacheEnumerable<TKey> to extend.
dependencyIDependencyAn IDependency implementations that monitors changes in the state of the data which a cache entry depends on. If a state change is registered, the cached entry becomes invalid and is removed from the cache.
valueFactoryFunc<T1, T2, TResult>The function delegate used to provide a memoized value.
Returns
- Func<T1, T2, TResult>
A memoized function delegate that is otherwise equivalent to
valueFactory.
Type Parameters
TKeyThe type of the key in the cache.
T1The type of the first parameter of the delegate
valueFactory.T2The type of the second parameter of the delegate
valueFactory.TResultThe type of the value in the cache.
Memoize<TKey, T1, T2, TResult>(ICacheEnumerable<TKey>, IEnumerable<IDependency>, Func<T1, T2, TResult>)
Memoizes the specified valueFactory in the cache for fast access.
public static Func<T1, T2, TResult> Memoize<TKey, T1, T2, TResult>(this ICacheEnumerable<TKey> cache, IEnumerable<IDependency> dependencies, Func<T1, T2, TResult> valueFactory)
Parameters
cacheICacheEnumerable<TKey>The ICacheEnumerable<TKey> to extend.
dependenciesIEnumerable<IDependency>A sequence of IDependency implementations that monitors changes in the state of the data which a cache entry depends on. If a state change is registered, the cached entry becomes invalid and is removed from the cache.
valueFactoryFunc<T1, T2, TResult>The function delegate used to provide a memoized value.
Returns
- Func<T1, T2, TResult>
A memoized function delegate that is otherwise equivalent to
valueFactory.
Type Parameters
TKeyThe type of the key in the cache.
T1The type of the first parameter of the delegate
valueFactory.T2The type of the second parameter of the delegate
valueFactory.TResultThe type of the value in the cache.
Memoize<TKey, T1, T2, TResult>(ICacheEnumerable<TKey>, DateTime, Func<T1, T2, TResult>)
Memoizes the specified valueFactory in the cache for fast access.
public static Func<T1, T2, TResult> Memoize<TKey, T1, T2, TResult>(this ICacheEnumerable<TKey> cache, DateTime absoluteExpiration, Func<T1, T2, TResult> valueFactory)
Parameters
cacheICacheEnumerable<TKey>The ICacheEnumerable<TKey> to extend.
absoluteExpirationDateTimeThe absolute expiration date time value from when the cached entry becomes invalid and is removed from the cache.
valueFactoryFunc<T1, T2, TResult>The function delegate used to provide a memoized value.
Returns
- Func<T1, T2, TResult>
A memoized function delegate that is otherwise equivalent to
valueFactory.
Type Parameters
TKeyThe type of the key in the cache.
T1The type of the first parameter of the delegate
valueFactory.T2The type of the second parameter of the delegate
valueFactory.TResultThe type of the value in the cache.
Memoize<TKey, T1, T2, TResult>(ICacheEnumerable<TKey>, TimeSpan, Func<T1, T2, TResult>)
Memoizes the specified valueFactory in the cache for fast access.
public static Func<T1, T2, TResult> Memoize<TKey, T1, T2, TResult>(this ICacheEnumerable<TKey> cache, TimeSpan slidingExpiration, Func<T1, T2, TResult> valueFactory)
Parameters
cacheICacheEnumerable<TKey>The ICacheEnumerable<TKey> to extend.
slidingExpirationTimeSpanThe sliding expiration time from when the cached entry becomes invalid and is removed from the cache.
valueFactoryFunc<T1, T2, TResult>The function delegate used to provide a memoized value.
Returns
- Func<T1, T2, TResult>
A memoized function delegate that is otherwise equivalent to
valueFactory.
Type Parameters
TKeyThe type of the key in the cache.
T1The type of the first parameter of the delegate
valueFactory.T2The type of the second parameter of the delegate
valueFactory.TResultThe type of the value in the cache.
Memoize<TKey, T1, T2, T3, TResult>(ICacheEnumerable<TKey>, CacheInvalidation, Func<T1, T2, T3, TResult>)
Memoizes the specified valueFactory in the cache for fast access.
public static Func<T1, T2, T3, TResult> Memoize<TKey, T1, T2, T3, TResult>(this ICacheEnumerable<TKey> cache, CacheInvalidation invalidation, Func<T1, T2, T3, TResult> valueFactory)
Parameters
cacheICacheEnumerable<TKey>The ICacheEnumerable<TKey> to extend.
invalidationCacheInvalidationThe object that contains expiration details for a specific cache entry.
valueFactoryFunc<T1, T2, T3, TResult>The function delegate used to provide a memoized value.
Returns
- Func<T1, T2, T3, TResult>
A memoized function delegate that is otherwise equivalent to
valueFactory.
Type Parameters
TKeyThe type of the key in the cache.
T1The type of the first parameter of the delegate
valueFactory.T2The type of the second parameter of the delegate
valueFactory.T3The type of the third parameter of the delegate
valueFactory.TResultThe type of the value in the cache.
Memoize<TKey, T1, T2, T3, TResult>(ICacheEnumerable<TKey>, IDependency, Func<T1, T2, T3, TResult>)
Memoizes the specified valueFactory in the cache for fast access.
public static Func<T1, T2, T3, TResult> Memoize<TKey, T1, T2, T3, TResult>(this ICacheEnumerable<TKey> cache, IDependency dependency, Func<T1, T2, T3, TResult> valueFactory)
Parameters
cacheICacheEnumerable<TKey>The ICacheEnumerable<TKey> to extend.
dependencyIDependencyAn IDependency implementations that monitors changes in the state of the data which a cache entry depends on. If a state change is registered, the cached entry becomes invalid and is removed from the cache.
valueFactoryFunc<T1, T2, T3, TResult>The function delegate used to provide a memoized value.
Returns
- Func<T1, T2, T3, TResult>
A memoized function delegate that is otherwise equivalent to
valueFactory.
Type Parameters
TKeyThe type of the key in the cache.
T1The type of the first parameter of the delegate
valueFactory.T2The type of the second parameter of the delegate
valueFactory.T3The type of the third parameter of the delegate
valueFactory.TResultThe type of the value in the cache.
Memoize<TKey, T1, T2, T3, TResult>(ICacheEnumerable<TKey>, IEnumerable<IDependency>, Func<T1, T2, T3, TResult>)
Memoizes the specified valueFactory in the cache for fast access.
public static Func<T1, T2, T3, TResult> Memoize<TKey, T1, T2, T3, TResult>(this ICacheEnumerable<TKey> cache, IEnumerable<IDependency> dependencies, Func<T1, T2, T3, TResult> valueFactory)
Parameters
cacheICacheEnumerable<TKey>The ICacheEnumerable<TKey> to extend.
dependenciesIEnumerable<IDependency>A sequence of IDependency implementations that monitors changes in the state of the data which a cache entry depends on. If a state change is registered, the cached entry becomes invalid and is removed from the cache.
valueFactoryFunc<T1, T2, T3, TResult>The function delegate used to provide a memoized value.
Returns
- Func<T1, T2, T3, TResult>
A memoized function delegate that is otherwise equivalent to
valueFactory.
Type Parameters
TKeyThe type of the key in the cache.
T1The type of the first parameter of the delegate
valueFactory.T2The type of the second parameter of the delegate
valueFactory.T3The type of the third parameter of the delegate
valueFactory.TResultThe type of the value in the cache.
Memoize<TKey, T1, T2, T3, TResult>(ICacheEnumerable<TKey>, DateTime, Func<T1, T2, T3, TResult>)
Memoizes the specified valueFactory in the cache for fast access.
public static Func<T1, T2, T3, TResult> Memoize<TKey, T1, T2, T3, TResult>(this ICacheEnumerable<TKey> cache, DateTime absoluteExpiration, Func<T1, T2, T3, TResult> valueFactory)
Parameters
cacheICacheEnumerable<TKey>The ICacheEnumerable<TKey> to extend.
absoluteExpirationDateTimeThe absolute expiration date time value from when the cached entry becomes invalid and is removed from the cache.
valueFactoryFunc<T1, T2, T3, TResult>The function delegate used to provide a memoized value.
Returns
- Func<T1, T2, T3, TResult>
A memoized function delegate that is otherwise equivalent to
valueFactory.
Type Parameters
TKeyThe type of the key in the cache.
T1The type of the first parameter of the delegate
valueFactory.T2The type of the second parameter of the delegate
valueFactory.T3The type of the third parameter of the delegate
valueFactory.TResultThe type of the value in the cache.
Memoize<TKey, T1, T2, T3, TResult>(ICacheEnumerable<TKey>, TimeSpan, Func<T1, T2, T3, TResult>)
Memoizes the specified valueFactory in the cache for fast access.
public static Func<T1, T2, T3, TResult> Memoize<TKey, T1, T2, T3, TResult>(this ICacheEnumerable<TKey> cache, TimeSpan slidingExpiration, Func<T1, T2, T3, TResult> valueFactory)
Parameters
cacheICacheEnumerable<TKey>The ICacheEnumerable<TKey> to extend.
slidingExpirationTimeSpanThe sliding expiration time from when the cached entry becomes invalid and is removed from the cache.
valueFactoryFunc<T1, T2, T3, TResult>The function delegate used to provide a memoized value.
Returns
- Func<T1, T2, T3, TResult>
A memoized function delegate that is otherwise equivalent to
valueFactory.
Type Parameters
TKeyThe type of the key in the cache.
T1The type of the first parameter of the delegate
valueFactory.T2The type of the second parameter of the delegate
valueFactory.T3The type of the third parameter of the delegate
valueFactory.TResultThe type of the value in the cache.
Memoize<TKey, T1, T2, T3, T4, TResult>(ICacheEnumerable<TKey>, CacheInvalidation, Func<T1, T2, T3, T4, TResult>)
Memoizes the specified valueFactory in the cache for fast access.
public static Func<T1, T2, T3, T4, TResult> Memoize<TKey, T1, T2, T3, T4, TResult>(this ICacheEnumerable<TKey> cache, CacheInvalidation invalidation, Func<T1, T2, T3, T4, TResult> valueFactory)
Parameters
cacheICacheEnumerable<TKey>The ICacheEnumerable<TKey> to extend.
invalidationCacheInvalidationThe object that contains expiration details for a specific cache entry.
valueFactoryFunc<T1, T2, T3, T4, TResult>The function delegate used to provide a memoized value.
Returns
- Func<T1, T2, T3, T4, TResult>
A memoized function delegate that is otherwise equivalent to
valueFactory.
Type Parameters
TKeyThe type of the key in the cache.
T1The type of the first parameter of the delegate
valueFactory.T2The type of the second parameter of the delegate
valueFactory.T3The type of the third parameter of the delegate
valueFactory.T4The type of the fourth parameter of the delegate
valueFactory.TResultThe type of the value in the cache.
Memoize<TKey, T1, T2, T3, T4, TResult>(ICacheEnumerable<TKey>, IDependency, Func<T1, T2, T3, T4, TResult>)
Memoizes the specified valueFactory in the cache for fast access.
public static Func<T1, T2, T3, T4, TResult> Memoize<TKey, T1, T2, T3, T4, TResult>(this ICacheEnumerable<TKey> cache, IDependency dependency, Func<T1, T2, T3, T4, TResult> valueFactory)
Parameters
cacheICacheEnumerable<TKey>The ICacheEnumerable<TKey> to extend.
dependencyIDependencyAn IDependency implementations that monitors changes in the state of the data which a cache entry depends on. If a state change is registered, the cached entry becomes invalid and is removed from the cache.
valueFactoryFunc<T1, T2, T3, T4, TResult>The function delegate used to provide a memoized value.
Returns
- Func<T1, T2, T3, T4, TResult>
A memoized function delegate that is otherwise equivalent to
valueFactory.
Type Parameters
TKeyThe type of the key in the cache.
T1The type of the first parameter of the delegate
valueFactory.T2The type of the second parameter of the delegate
valueFactory.T3The type of the third parameter of the delegate
valueFactory.T4The type of the fourth parameter of the delegate
valueFactory.TResultThe type of the value in the cache.
Memoize<TKey, T1, T2, T3, T4, TResult>(ICacheEnumerable<TKey>, IEnumerable<IDependency>, Func<T1, T2, T3, T4, TResult>)
Memoizes the specified valueFactory in the cache for fast access.
public static Func<T1, T2, T3, T4, TResult> Memoize<TKey, T1, T2, T3, T4, TResult>(this ICacheEnumerable<TKey> cache, IEnumerable<IDependency> dependencies, Func<T1, T2, T3, T4, TResult> valueFactory)
Parameters
cacheICacheEnumerable<TKey>The ICacheEnumerable<TKey> to extend.
dependenciesIEnumerable<IDependency>A sequence of IDependency implementations that monitors changes in the state of the data which a cache entry depends on. If a state change is registered, the cached entry becomes invalid and is removed from the cache.
valueFactoryFunc<T1, T2, T3, T4, TResult>The function delegate used to provide a memoized value.
Returns
- Func<T1, T2, T3, T4, TResult>
A memoized function delegate that is otherwise equivalent to
valueFactory.
Type Parameters
TKeyThe type of the key in the cache.
T1The type of the first parameter of the delegate
valueFactory.T2The type of the second parameter of the delegate
valueFactory.T3The type of the third parameter of the delegate
valueFactory.T4The type of the fourth parameter of the delegate
valueFactory.TResultThe type of the value in the cache.
Memoize<TKey, T1, T2, T3, T4, TResult>(ICacheEnumerable<TKey>, DateTime, Func<T1, T2, T3, T4, TResult>)
Memoizes the specified valueFactory in the cache for fast access.
public static Func<T1, T2, T3, T4, TResult> Memoize<TKey, T1, T2, T3, T4, TResult>(this ICacheEnumerable<TKey> cache, DateTime absoluteExpiration, Func<T1, T2, T3, T4, TResult> valueFactory)
Parameters
cacheICacheEnumerable<TKey>The ICacheEnumerable<TKey> to extend.
absoluteExpirationDateTimeThe absolute expiration date time value from when the cached entry becomes invalid and is removed from the cache.
valueFactoryFunc<T1, T2, T3, T4, TResult>The function delegate used to provide a memoized value.
Returns
- Func<T1, T2, T3, T4, TResult>
A memoized function delegate that is otherwise equivalent to
valueFactory.
Type Parameters
TKeyThe type of the key in the cache.
T1The type of the first parameter of the delegate
valueFactory.T2The type of the second parameter of the delegate
valueFactory.T3The type of the third parameter of the delegate
valueFactory.T4The type of the fourth parameter of the delegate
valueFactory.TResultThe type of the value in the cache.
Memoize<TKey, T1, T2, T3, T4, TResult>(ICacheEnumerable<TKey>, TimeSpan, Func<T1, T2, T3, T4, TResult>)
Memoizes the specified valueFactory in the cache for fast access.
public static Func<T1, T2, T3, T4, TResult> Memoize<TKey, T1, T2, T3, T4, TResult>(this ICacheEnumerable<TKey> cache, TimeSpan slidingExpiration, Func<T1, T2, T3, T4, TResult> valueFactory)
Parameters
cacheICacheEnumerable<TKey>The ICacheEnumerable<TKey> to extend.
slidingExpirationTimeSpanThe sliding expiration time from when the cached entry becomes invalid and is removed from the cache.
valueFactoryFunc<T1, T2, T3, T4, TResult>The function delegate used to provide a memoized value.
Returns
- Func<T1, T2, T3, T4, TResult>
A memoized function delegate that is otherwise equivalent to
valueFactory.
Type Parameters
TKeyThe type of the key in the cache.
T1The type of the first parameter of the delegate
valueFactory.T2The type of the second parameter of the delegate
valueFactory.T3The type of the third parameter of the delegate
valueFactory.T4The type of the fourth parameter of the delegate
valueFactory.TResultThe type of the value in the cache.
Memoize<TKey, T1, T2, T3, T4, T5, TResult>(ICacheEnumerable<TKey>, CacheInvalidation, Func<T1, T2, T3, T4, T5, TResult>)
Memoizes the specified valueFactory in the cache for fast access.
public static Func<T1, T2, T3, T4, T5, TResult> Memoize<TKey, T1, T2, T3, T4, T5, TResult>(this ICacheEnumerable<TKey> cache, CacheInvalidation invalidation, Func<T1, T2, T3, T4, T5, TResult> valueFactory)
Parameters
cacheICacheEnumerable<TKey>The ICacheEnumerable<TKey> to extend.
invalidationCacheInvalidationThe object that contains expiration details for a specific cache entry.
valueFactoryFunc<T1, T2, T3, T4, T5, TResult>The function delegate used to provide a memoized value.
Returns
- Func<T1, T2, T3, T4, T5, TResult>
A memoized function delegate that is otherwise equivalent to
valueFactory.
Type Parameters
TKeyThe type of the key in the cache.
T1The type of the first parameter of the delegate
valueFactory.T2The type of the second parameter of the delegate
valueFactory.T3The type of the third parameter of the delegate
valueFactory.T4The type of the fourth parameter of the delegate
valueFactory.T5The type of the fifth parameter of the delegate
valueFactory.TResultThe type of the value in the cache.
Memoize<TKey, T1, T2, T3, T4, T5, TResult>(ICacheEnumerable<TKey>, IDependency, Func<T1, T2, T3, T4, T5, TResult>)
Memoizes the specified valueFactory in the cache for fast access.
public static Func<T1, T2, T3, T4, T5, TResult> Memoize<TKey, T1, T2, T3, T4, T5, TResult>(this ICacheEnumerable<TKey> cache, IDependency dependency, Func<T1, T2, T3, T4, T5, TResult> valueFactory)
Parameters
cacheICacheEnumerable<TKey>The ICacheEnumerable<TKey> to extend.
dependencyIDependencyAn IDependency implementations that monitors changes in the state of the data which a cache entry depends on. If a state change is registered, the cached entry becomes invalid and is removed from the cache.
valueFactoryFunc<T1, T2, T3, T4, T5, TResult>The function delegate used to provide a memoized value.
Returns
- Func<T1, T2, T3, T4, T5, TResult>
A memoized function delegate that is otherwise equivalent to
valueFactory.
Type Parameters
TKeyThe type of the key in the cache.
T1The type of the first parameter of the delegate
valueFactory.T2The type of the second parameter of the delegate
valueFactory.T3The type of the third parameter of the delegate
valueFactory.T4The type of the fourth parameter of the delegate
valueFactory.T5The type of the fifth parameter of the delegate
valueFactory.TResultThe type of the value in the cache.
Memoize<TKey, T1, T2, T3, T4, T5, TResult>(ICacheEnumerable<TKey>, IEnumerable<IDependency>, Func<T1, T2, T3, T4, T5, TResult>)
Memoizes the specified valueFactory in the cache for fast access.
public static Func<T1, T2, T3, T4, T5, TResult> Memoize<TKey, T1, T2, T3, T4, T5, TResult>(this ICacheEnumerable<TKey> cache, IEnumerable<IDependency> dependencies, Func<T1, T2, T3, T4, T5, TResult> valueFactory)
Parameters
cacheICacheEnumerable<TKey>The ICacheEnumerable<TKey> to extend.
dependenciesIEnumerable<IDependency>A sequence of IDependency implementations that monitors changes in the state of the data which a cache entry depends on. If a state change is registered, the cached entry becomes invalid and is removed from the cache.
valueFactoryFunc<T1, T2, T3, T4, T5, TResult>The function delegate used to provide a memoized value.
Returns
- Func<T1, T2, T3, T4, T5, TResult>
A memoized function delegate that is otherwise equivalent to
valueFactory.
Type Parameters
TKeyThe type of the key in the cache.
T1The type of the first parameter of the delegate
valueFactory.T2The type of the second parameter of the delegate
valueFactory.T3The type of the third parameter of the delegate
valueFactory.T4The type of the fourth parameter of the delegate
valueFactory.T5The type of the fifth parameter of the delegate
valueFactory.TResultThe type of the value in the cache.
Memoize<TKey, T1, T2, T3, T4, T5, TResult>(ICacheEnumerable<TKey>, DateTime, Func<T1, T2, T3, T4, T5, TResult>)
Memoizes the specified valueFactory in the cache for fast access.
public static Func<T1, T2, T3, T4, T5, TResult> Memoize<TKey, T1, T2, T3, T4, T5, TResult>(this ICacheEnumerable<TKey> cache, DateTime absoluteExpiration, Func<T1, T2, T3, T4, T5, TResult> valueFactory)
Parameters
cacheICacheEnumerable<TKey>The ICacheEnumerable<TKey> to extend.
absoluteExpirationDateTimeThe absolute expiration date time value from when the cached entry becomes invalid and is removed from the cache.
valueFactoryFunc<T1, T2, T3, T4, T5, TResult>The function delegate used to provide a memoized value.
Returns
- Func<T1, T2, T3, T4, T5, TResult>
A memoized function delegate that is otherwise equivalent to
valueFactory.
Type Parameters
TKeyThe type of the key in the cache.
T1The type of the first parameter of the delegate
valueFactory.T2The type of the second parameter of the delegate
valueFactory.T3The type of the third parameter of the delegate
valueFactory.T4The type of the fourth parameter of the delegate
valueFactory.T5The type of the fifth parameter of the delegate
valueFactory.TResultThe type of the value in the cache.
Memoize<TKey, T1, T2, T3, T4, T5, TResult>(ICacheEnumerable<TKey>, TimeSpan, Func<T1, T2, T3, T4, T5, TResult>)
Memoizes the specified valueFactory in the cache for fast access.
public static Func<T1, T2, T3, T4, T5, TResult> Memoize<TKey, T1, T2, T3, T4, T5, TResult>(this ICacheEnumerable<TKey> cache, TimeSpan slidingExpiration, Func<T1, T2, T3, T4, T5, TResult> valueFactory)
Parameters
cacheICacheEnumerable<TKey>The ICacheEnumerable<TKey> to extend.
slidingExpirationTimeSpanThe sliding expiration time from when the cached entry becomes invalid and is removed from the cache.
valueFactoryFunc<T1, T2, T3, T4, T5, TResult>The function delegate used to provide a memoized value.
Returns
- Func<T1, T2, T3, T4, T5, TResult>
A memoized function delegate that is otherwise equivalent to
valueFactory.
Type Parameters
TKeyThe type of the key in the cache.
T1The type of the first parameter of the delegate
valueFactory.T2The type of the second parameter of the delegate
valueFactory.T3The type of the third parameter of the delegate
valueFactory.T4The type of the fourth parameter of the delegate
valueFactory.T5The type of the fifth parameter of the delegate
valueFactory.TResultThe type of the value in the cache.