Beispiel #1
0
            internal DataEnumerator(IEnumerable <T> source, OnDisposed onDisposed, OnEnumerationEnded onEnumerationEnded)
            {
                if (source == null)
                {
                    throw new ArgumentNullException("source", "source can not be null!");
                }

                mEnumerator         = source.GetEnumerator();
                mOnDisposed         = onDisposed;
                mOnEnumerationEnded = onEnumerationEnded;
            }
Beispiel #2
0
            public void Dispose()
            {
                IEnumerator <T> tempEnumerator = mEnumerator;

                mEnumerator = null;

                if (tempEnumerator != null)
                {
                    tempEnumerator.Dispose();

                    mOnEnumerationEnded = null;

                    if (mOnDisposed != null)
                    {
                        mOnDisposed.Invoke(mEnumerationCount);
                        mOnDisposed = null;
                    }
                }
            }