3using System.Threading.Tasks;
17 private readonly
bool[] columnAsynchronous;
19 private readonly
int count;
31 this.e = ItemEnumerator;
32 this.columns = Columns;
34 this.count = this.columns?.Length ?? 0;
35 this.columnAsynchronous =
new bool[this.count];
37 for (
int i = 0; i < this.count; i++)
38 this.columnAsynchronous[i] = this.columns[i].IsAsynchronous;
75 if (!await this.e.MoveNextAsync())
79 object Item = this.e.Current;
82 if (this.properties is
null)
87 if (this.columns is
null)
91 this.record =
new IElement[this.count];
93 for (i = 0; i < this.count; i++)
97 if (this.columnAsynchronous[i])
98 this.record[i] = await this.columns[i].EvaluateAsync(this.properties);
100 this.record[i] = this.columns[i].Evaluate(this.properties);
Static class managing the application event log. Applications and services log events on this static ...
static Exception UnnestException(Exception Exception)
Unnests an exception, to extract the relevant inner exception.
Base class for all types of elements.
abstract object AssociatedObjectValue
Associated object value.
Class managing a script expression.
static IElement Encapsulate(object Value)
Encapsulates an object.
Base class for all nodes in a parsed script tree.
Enumerator that returns a tabular result set.
object Current
IEnumerator.Current
virtual async Task< bool > MoveNextAsync()
Advances the enumerator to the next element of the collection.
RecordEnumerator(IResultSetEnumerator ItemEnumerator, ScriptNode[] Columns, Variables Variables)
Enumerator that returns a tabular result set.
IElement[] CurrentRecord
Current record
virtual bool MoveNext()
IEnumerator.MoveNext
void Dispose()
IDisposable.Dispose"/>
virtual void Reset()
IEnumerator.Reset
Basic interface for all types of elements.
Interface for result-set enumerators.