public bool MoveNext()
        {
            AssertNotDisposed(this);
            Inner.AssertGenerationMatch(Generation);

            var columnsValue = Inner.Columns;

            if (Index >= columnsValue.Count)
            {
                return(false);
            }

            Index++;

            while (Index < columnsValue.Count)
            {
                if (columnsValue[Index].HasName)
                {
                    return(true);
                }

                Index++;
            }

            return(false);
        }
예제 #2
0
            public void Reset()
            {
                AssertNotDisposed(this);
                Row?.AssertGenerationMatch(ExpectedGeneration);

                NextIndex = 0;
            }
예제 #3
0
            public bool MoveNext()
            {
                AssertNotDisposed(this);
                Row.AssertGenerationMatch(ExpectedGeneration);

                var trueWidth = Length ?? Row.Width;

                var ix = NextIndex;

                if (ix < trueWidth)
                {
                    var trueIx = ix;
                    trueIx += Offset ?? 0;

                    if (Row.HasNames)
                    {
                        var name = Row.Names[trueIx];
                        _Current = ColumnIdentifier.CreateInner(ix, name, null);
                    }
                    else
                    {
                        _Current = ColumnIdentifier.Create(ix);
                    }

                    NextIndex++;
                    return(true);
                }

                return(false);
            }
 public IEnumerator <string> GetEnumerator()
 {
     Inner.AssertGenerationMatch(Generation);
     return(new DynamicRowMemberNameEnumerator(Inner));
 }
예제 #5
0
        public IEnumerator <T> GetEnumerator()
        {
            Row.AssertGenerationMatch(Generation);

            return(new DynamicRowEnumerator <T>(Row, DependsOn, Offset, Length));
        }
예제 #6
0
        public IEnumerator <object?> GetEnumerator()
        {
            Row.AssertGenerationMatch(Generation);

            return(new PassthroughRowEnumerator(Row, DependsOn, Offset, Length));
        }