public override IEnumerator <T> GetEnumerator() { if (ObservableExtensions.KeepOrder) { return(SL.Where(source, item => { if (isValueType || item != null) { TaggedObservableValue <bool, ItemMultiplicity> node; if (lambdaInstances.TryGetValue(item, out node)) { return node.Value; } else { return false; } } else { return nullCheck != null && nullCheck.Value; } }).GetEnumerator()); } else { return(ItemsUnordered.GetEnumerator()); } }
public override IEnumerator <TResult> GetEnumerator() { if (ObservableExtensions.KeepOrder) { return(ItemsInternal.GetEnumerator()); } else { return(ItemsUnordered.GetEnumerator()); } }