protected override void EvalTraverse(DataSetChain dataSetChain) { if (dataSetChain.RowCount == 0) { return; } var firstRow = dataSetChain[0]; if (dataSetChain.HasNext) { EvalTraverse(dataSetChain.Next(firstRow)); } else { EvalAccumulate(firstRow); } }
protected override void EvalTraverse(DataSetChain dataSetChain) { var rowCount = dataSetChain.RowCount; if (rowCount == 0) { return; } var lastRow = dataSetChain[rowCount - 1]; if (dataSetChain.HasNext) { EvalTraverse(dataSetChain.Next(lastRow)); } else { EvalAccumulate(lastRow); } }