Table of Contents

Memoize Method

Definition

Namespace
Cuemon.Extensions.Runtime.Caching
Assemblies
Cuemon.Extensions.Runtime.Caching.dll
Source
src/Cuemon.Extensions.Runtime.Caching/CacheEnumerableExtensions.cs

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

cache ICacheEnumerable<TKey>

The ICacheEnumerable<TKey> to extend.

dependency IDependency

An 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.

valueFactory Func<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

TKey

The type of the key in the cache.

TResult

The 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

cache ICacheEnumerable<TKey>

The ICacheEnumerable<TKey> to extend.

dependencies IEnumerable<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.

valueFactory Func<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

TKey

The type of the key in the cache.

TResult

The 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

cache ICacheEnumerable<TKey>

The ICacheEnumerable<TKey> to extend.

slidingExpiration TimeSpan

The sliding expiration time from when the cached entry becomes invalid and is removed from the cache.

valueFactory Func<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

TKey

The type of the key in the cache.

TResult

The 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

cache ICacheEnumerable<TKey>

The ICacheEnumerable<TKey> to extend.

absoluteExpiration DateTime

The absolute expiration date time value from when the cached entry becomes invalid and is removed from the cache.

valueFactory Func<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

TKey

The type of the key in the cache.

TResult

The 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

cache ICacheEnumerable<TKey>

The ICacheEnumerable<TKey> to extend.

invalidation CacheInvalidation

The object that contains expiration details for a specific cache entry.

valueFactory Func<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

TKey

The type of the key in the cache.

TResult

The 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

cache ICacheEnumerable<TKey>

The ICacheEnumerable<TKey> to extend.

dependency IDependency

An 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.

valueFactory Func<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

TKey

The type of the key in the cache.

T

The type of the parameter of the delegate valueFactory.

TResult

The 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

cache ICacheEnumerable<TKey>

The ICacheEnumerable<TKey> to extend.

dependencies IEnumerable<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.

valueFactory Func<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

TKey

The type of the key in the cache.

T

The type of the parameter of the delegate valueFactory.

TResult

The 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

cache ICacheEnumerable<TKey>

The ICacheEnumerable<TKey> to extend.

slidingExpiration TimeSpan

The sliding expiration time from when the cached entry becomes invalid and is removed from the cache.

valueFactory Func<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

TKey

The type of the key in the cache.

T

The type of the parameter of the delegate valueFactory.

TResult

The 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

cache ICacheEnumerable<TKey>

The ICacheEnumerable<TKey> to extend.

absoluteExpiration DateTime

The absolute expiration date time value from when the cached entry becomes invalid and is removed from the cache.

valueFactory Func<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

TKey

The type of the key in the cache.

T

The type of the parameter of the delegate valueFactory.

TResult

The 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

cache ICacheEnumerable<TKey>

The ICacheEnumerable<TKey> to extend.

invalidation CacheInvalidation

The object that contains expiration details for a specific cache entry.

valueFactory Func<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

TKey

The type of the key in the cache.

T

The type of the parameter of the delegate valueFactory.

TResult

The 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

cache ICacheEnumerable<TKey>

The ICacheEnumerable<TKey> to extend.

dependency IDependency

An 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.

valueFactory Func<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

TKey

The type of the key in the cache.

T1

The type of the first parameter of the delegate valueFactory.

T2

The type of the second parameter of the delegate valueFactory.

TResult

The 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

cache ICacheEnumerable<TKey>

The ICacheEnumerable<TKey> to extend.

dependencies IEnumerable<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.

valueFactory Func<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

TKey

The type of the key in the cache.

T1

The type of the first parameter of the delegate valueFactory.

T2

The type of the second parameter of the delegate valueFactory.

TResult

The 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

cache ICacheEnumerable<TKey>

The ICacheEnumerable<TKey> to extend.

slidingExpiration TimeSpan

The sliding expiration time from when the cached entry becomes invalid and is removed from the cache.

valueFactory Func<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

TKey

The type of the key in the cache.

T1

The type of the first parameter of the delegate valueFactory.

T2

The type of the second parameter of the delegate valueFactory.

TResult

The 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

cache ICacheEnumerable<TKey>

The ICacheEnumerable<TKey> to extend.

absoluteExpiration DateTime

The absolute expiration date time value from when the cached entry becomes invalid and is removed from the cache.

valueFactory Func<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

TKey

The type of the key in the cache.

T1

The type of the first parameter of the delegate valueFactory.

T2

The type of the second parameter of the delegate valueFactory.

TResult

The 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

cache ICacheEnumerable<TKey>

The ICacheEnumerable<TKey> to extend.

invalidation CacheInvalidation

The object that contains expiration details for a specific cache entry.

valueFactory Func<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

TKey

The type of the key in the cache.

T1

The type of the first parameter of the delegate valueFactory.

T2

The type of the second parameter of the delegate valueFactory.

TResult

The 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

cache ICacheEnumerable<TKey>

The ICacheEnumerable<TKey> to extend.

dependency IDependency

An 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.

valueFactory Func<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

TKey

The type of the key in the cache.

T1

The type of the first parameter of the delegate valueFactory.

T2

The type of the second parameter of the delegate valueFactory.

T3

The type of the third parameter of the delegate valueFactory.

TResult

The 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

cache ICacheEnumerable<TKey>

The ICacheEnumerable<TKey> to extend.

dependencies IEnumerable<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.

valueFactory Func<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

TKey

The type of the key in the cache.

T1

The type of the first parameter of the delegate valueFactory.

T2

The type of the second parameter of the delegate valueFactory.

T3

The type of the third parameter of the delegate valueFactory.

TResult

The 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

cache ICacheEnumerable<TKey>

The ICacheEnumerable<TKey> to extend.

slidingExpiration TimeSpan

The sliding expiration time from when the cached entry becomes invalid and is removed from the cache.

valueFactory Func<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

TKey

The type of the key in the cache.

T1

The type of the first parameter of the delegate valueFactory.

T2

The type of the second parameter of the delegate valueFactory.

T3

The type of the third parameter of the delegate valueFactory.

TResult

The 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

cache ICacheEnumerable<TKey>

The ICacheEnumerable<TKey> to extend.

absoluteExpiration DateTime

The absolute expiration date time value from when the cached entry becomes invalid and is removed from the cache.

valueFactory Func<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

TKey

The type of the key in the cache.

T1

The type of the first parameter of the delegate valueFactory.

T2

The type of the second parameter of the delegate valueFactory.

T3

The type of the third parameter of the delegate valueFactory.

TResult

The 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

cache ICacheEnumerable<TKey>

The ICacheEnumerable<TKey> to extend.

invalidation CacheInvalidation

The object that contains expiration details for a specific cache entry.

valueFactory Func<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

TKey

The type of the key in the cache.

T1

The type of the first parameter of the delegate valueFactory.

T2

The type of the second parameter of the delegate valueFactory.

T3

The type of the third parameter of the delegate valueFactory.

TResult

The 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

cache ICacheEnumerable<TKey>

The ICacheEnumerable<TKey> to extend.

dependency IDependency

An 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.

valueFactory Func<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

TKey

The type of the key in the cache.

T1

The type of the first parameter of the delegate valueFactory.

T2

The type of the second parameter of the delegate valueFactory.

T3

The type of the third parameter of the delegate valueFactory.

T4

The type of the fourth parameter of the delegate valueFactory.

TResult

The 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

cache ICacheEnumerable<TKey>

The ICacheEnumerable<TKey> to extend.

dependencies IEnumerable<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.

valueFactory Func<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

TKey

The type of the key in the cache.

T1

The type of the first parameter of the delegate valueFactory.

T2

The type of the second parameter of the delegate valueFactory.

T3

The type of the third parameter of the delegate valueFactory.

T4

The type of the fourth parameter of the delegate valueFactory.

TResult

The 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

cache ICacheEnumerable<TKey>

The ICacheEnumerable<TKey> to extend.

slidingExpiration TimeSpan

The sliding expiration time from when the cached entry becomes invalid and is removed from the cache.

valueFactory Func<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

TKey

The type of the key in the cache.

T1

The type of the first parameter of the delegate valueFactory.

T2

The type of the second parameter of the delegate valueFactory.

T3

The type of the third parameter of the delegate valueFactory.

T4

The type of the fourth parameter of the delegate valueFactory.

TResult

The 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

cache ICacheEnumerable<TKey>

The ICacheEnumerable<TKey> to extend.

absoluteExpiration DateTime

The absolute expiration date time value from when the cached entry becomes invalid and is removed from the cache.

valueFactory Func<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

TKey

The type of the key in the cache.

T1

The type of the first parameter of the delegate valueFactory.

T2

The type of the second parameter of the delegate valueFactory.

T3

The type of the third parameter of the delegate valueFactory.

T4

The type of the fourth parameter of the delegate valueFactory.

TResult

The 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

cache ICacheEnumerable<TKey>

The ICacheEnumerable<TKey> to extend.

invalidation CacheInvalidation

The object that contains expiration details for a specific cache entry.

valueFactory Func<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

TKey

The type of the key in the cache.

T1

The type of the first parameter of the delegate valueFactory.

T2

The type of the second parameter of the delegate valueFactory.

T3

The type of the third parameter of the delegate valueFactory.

T4

The type of the fourth parameter of the delegate valueFactory.

TResult

The 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

cache ICacheEnumerable<TKey>

The ICacheEnumerable<TKey> to extend.

dependency IDependency

An 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.

valueFactory Func<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

TKey

The type of the key in the cache.

T1

The type of the first parameter of the delegate valueFactory.

T2

The type of the second parameter of the delegate valueFactory.

T3

The type of the third parameter of the delegate valueFactory.

T4

The type of the fourth parameter of the delegate valueFactory.

T5

The type of the fifth parameter of the delegate valueFactory.

TResult

The 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

cache ICacheEnumerable<TKey>

The ICacheEnumerable<TKey> to extend.

dependencies IEnumerable<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.

valueFactory Func<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

TKey

The type of the key in the cache.

T1

The type of the first parameter of the delegate valueFactory.

T2

The type of the second parameter of the delegate valueFactory.

T3

The type of the third parameter of the delegate valueFactory.

T4

The type of the fourth parameter of the delegate valueFactory.

T5

The type of the fifth parameter of the delegate valueFactory.

TResult

The 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

cache ICacheEnumerable<TKey>

The ICacheEnumerable<TKey> to extend.

slidingExpiration TimeSpan

The sliding expiration time from when the cached entry becomes invalid and is removed from the cache.

valueFactory Func<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

TKey

The type of the key in the cache.

T1

The type of the first parameter of the delegate valueFactory.

T2

The type of the second parameter of the delegate valueFactory.

T3

The type of the third parameter of the delegate valueFactory.

T4

The type of the fourth parameter of the delegate valueFactory.

T5

The type of the fifth parameter of the delegate valueFactory.

TResult

The 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

cache ICacheEnumerable<TKey>

The ICacheEnumerable<TKey> to extend.

absoluteExpiration DateTime

The absolute expiration date time value from when the cached entry becomes invalid and is removed from the cache.

valueFactory Func<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

TKey

The type of the key in the cache.

T1

The type of the first parameter of the delegate valueFactory.

T2

The type of the second parameter of the delegate valueFactory.

T3

The type of the third parameter of the delegate valueFactory.

T4

The type of the fourth parameter of the delegate valueFactory.

T5

The type of the fifth parameter of the delegate valueFactory.

TResult

The 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

cache ICacheEnumerable<TKey>

The ICacheEnumerable<TKey> to extend.

invalidation CacheInvalidation

The object that contains expiration details for a specific cache entry.

valueFactory Func<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

TKey

The type of the key in the cache.

T1

The type of the first parameter of the delegate valueFactory.

T2

The type of the second parameter of the delegate valueFactory.

T3

The type of the third parameter of the delegate valueFactory.

T4

The type of the fourth parameter of the delegate valueFactory.

T5

The type of the fifth parameter of the delegate valueFactory.

TResult

The type of the value in the cache.