public async Task <TRes> GetAsync(TArg obj) { IEquatable <TArg> ine = obj as IEquatable <TArg>; if (ine == null) { ine = converter.Covert(obj); } var lazyResult = cache.GetOrAdd(ine, new AsyncLazy <TRes>(async() => { TRes newResult = await component.GetAsync(obj); return(newResult); })); var result = await lazyResult.GetValueAsync(); return(result); }
public async Task <LinearWeight[]> GetLinearWeigthsAsync(INodes nodes, ICellRequest cell) { TContext context = await contextProvider.GetAsync(nodes); return(await weightsProvider.GetLinearWeigthsAsync(cell, context)); }
public Task <VariogramModule.IVariogram> GetSpatialVariogramAsync(LinearCombination.RealValueNodes nodes) { return(component.GetAsync(nodes)); }