コード例 #1
0
 /// <summary>
 /// Returns a ValueTask + uses a cache
 /// </summary>
 /// <param name="StartDate"></param>
 /// <returns></returns>
 public static ValueTask <IEnumerable <HistoricalQuote> > GetHistoricalData(DateTime StartDate)
 {
     if (HistoricalDataCache?.Last().Date < StartDate)
     {
         return(new ValueTask <IEnumerable <HistoricalQuote> >(HistoricalDataCache.Where(n => n.Date >= StartDate)));
     }
     else
     {
         var task = HistoricalPriceReader.GetNewerThan(StartDate);
         task.ContinueWith((n) => HistoricalDataCache = n.Result);
         return(new ValueTask <IEnumerable <HistoricalQuote> >(task));
     }
 }
コード例 #2
0
 /// <summary>
 /// Returns a Task + uses a cache
 /// </summary>
 /// <param name="StartDate"></param>
 /// <returns></returns>
 public static Task <IEnumerable <HistoricalQuote> > GetHistoricalData_TaskClassic(DateTime StartDate)
 {
     if (HistoricalDataCache_ForTaskClassic?.Last().Date < StartDate)
     {
         return(Task.FromResult(HistoricalDataCache_ForTaskClassic.Where(n => n.Date >= StartDate)));
     }
     else
     {
         var task = HistoricalPriceReader.GetNewerThan(StartDate);
         task.ContinueWith((n) => HistoricalDataCache_ForTaskClassic = n.Result);
         return(task);
     }
 }