internal bool TryCacheLookup <TK, TE>(TK key, out TE value) where TK : QueryCacheKey
        {
            value = default(TE);
            QueryCacheEntry queryCacheEntry = (QueryCacheEntry)null;
            bool            flag            = this.TryInternalCacheLookup((QueryCacheKey)key, out queryCacheEntry);

            if (flag)
            {
                value = (TE)queryCacheEntry.GetTarget();
            }
            return(flag);
        }
Exemplo n.º 2
0
        // <summary>
        // Lookup service for a cached value.
        // </summary>
        internal bool TryCacheLookup <TK, TE>(TK key, out TE value)
            where TK : QueryCacheKey
        {
            DebugCheck.NotNull(key);

            value = default(TE);

            //
            // invoke internal lookup
            //
            QueryCacheEntry qEntry = null;
            var             bHit   = TryInternalCacheLookup(key, out qEntry);

            //
            // if it is a hit, 'extract' the entry strong type cache value
            //
            if (bHit)
            {
                value = (TE)qEntry.GetTarget();
            }

            return(bHit);
        }