コード例 #1
0
        public void Malformed()
        {
            var e = new SelectEnumerable <int, int, EmptyEnumerable <int>, EmptyEnumerator <int> >();

            try
            {
                var _ = e.Where(x => true);
                Assert.Fail();
            }
            catch (ArgumentException exc)
            {
                Assert.AreEqual("source", exc.ParamName);
            }
        }
コード例 #2
0
            public IEnumerator <TResult> GetEnumerator()
            {
                SelectEnumerable <TElement, TResult> enumerator;

                if (_state == OurListEnumeratorState.EnumeratorNotCreated && _initialThreadId == Environment.CurrentManagedThreadId)
                {
                    _state     = OurListEnumeratorState.EnumeratorCreated;
                    enumerator = this;
                }
                else
                {
                    enumerator = new SelectEnumerable <TElement, TResult>(OurListEnumeratorState.EnumeratorCreated);
                }

                enumerator._list     = List;
                enumerator._getValue = GeValue;
                return(enumerator);
            }