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)));
 }
Пример #3
0
 public CacheItem(Func <Task <T> > factory, DateTimeOffset expirationTime)
 {
     _asyncLazy      = new AtomicLazy <Task <T> >(factory);
     _expirationTime = expirationTime;
 }