/// <summary> /// Specifies a data retrieval strategy if the desired value does not exist in the cache or is invalid /// </summary> /// <param name="retrieve">A delegate that specifies how the value is to be retrieved</param> /// <returns>An updated cache strategy that includes the retrieval strategy</returns> public CacheStrategy <T> RetrieveUsing <T>(Func <P1, T> retrieve) { CacheStrategy <T> strategy = base.Complete <T>(); var p1 = strategy.GetParameter <P1>(0); strategy.RetrieveCallback = () => retrieve(p1); return(strategy); }