public static AtomicLazy <T> FromAsync <T>(this AtomicLazy <Task <T> > asyncLazy) { return(asyncLazy == null ? null : new AtomicLazy <T>(() => Task.Run(() => asyncLazy.Value).GetAwaiter().GetResult())); }
public static AtomicLazy <Task <T> > ToAsync <T>(this AtomicLazy <T> lazy) { return(lazy == null ? null : new AtomicLazy <Task <T> >(() => Task.FromResult(lazy.Value))); }
public CacheItem(Func <Task <T> > factory, DateTimeOffset expirationTime) { _asyncLazy = new AtomicLazy <Task <T> >(factory); _expirationTime = expirationTime; }