// Needed for NET30 #if !NET_4_6 using System.Collections.Generic; using LinqInternal.Collections.ThreadSafe; namespace LinqInternal.Collections.Specialized { [System.Diagnostics.DebuggerNonUserCode] internal abstract class ExtendedEnumerableBase : IEnumerable { private readonly IEnumerable _append; private readonly IEnumerable _target; protected ExtendedEnumerableBase(IEnumerable target, IEnumerable append) { _target = target ?? ArrayReservoir.EmptyArray; _append = append ?? ArrayReservoir.EmptyArray; } protected IEnumerable Append { get { return _append; } } protected IEnumerable Target { get { return _target; } } public abstract IEnumerator GetEnumerator(); System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator() { return GetEnumerator(); } } } #endif