public CachedQueryEnumerator(IEnumerator enumerator, Action <EnumerableResult> addToCache, bool fromCache) { _enumerator = enumerator; _addToCache = addToCache; _enumerableResult = new EnumerableResult(); _fromCache = fromCache; }
public bool MoveNext() { bool moveNext = _enumerator.MoveNext(); if (!moveNext && !_fromCache) { _addToCache(_enumerableResult); _enumerableResult = null; } return(moveNext); }
private IEnumerator Convert(EnumerableResult result) { return(result.Objects as IEnumerator); }