public WeakCache(int size, Func <TKey, TResult> creator) { this.creator = creator; cache = new SimpleCache <TKey, WeakReference <TResult> >(size, MakeElement); }
public AsyncCache(int size, Func <TKey, Task <TResult> > creator) { cache = new SimpleCache <TKey, TaskHolder>(size, k => new TaskHolder(creator(k))); }