RhSolutions-AddIn/RhSolutions.ExcelExtensions/RowsEnumerator.cs
2023-04-01 15:58:42 +03:00

55 lines
954 B
C#

using System.Collections;
namespace RhSolutions.ExcelExtensions;
public class RowsEnumerator : IEnumerator<Row>
{
public Range Range { get; }
public Table ParentTable { get; }
private int position = 0;
object IEnumerator.Current
{
get
{
return Current;
}
}
public Row Current
{
get
{
try
{
return new Row(Range.Rows[position], ParentTable);
}
catch (IndexOutOfRangeException)
{
throw new InvalidOperationException();
}
}
}
public RowsEnumerator(Range range, Table table)
{
Range = range;
ParentTable = table;
}
public bool MoveNext()
{
position++;
return (position <= Range.Rows.Count);
}
public void Reset()
{
position = 0;
}
public void Dispose()
{
}
}