2using System.Collections;
3using System.Collections.Generic;
4using System.Threading.Tasks;
17 private readonly Dictionary<Type, ObjectProperties> propertiesX =
new Dictionary<Type, ObjectProperties>();
18 private readonly Dictionary<Type, ObjectProperties> propertiesY =
new Dictionary<Type, ObjectProperties>();
19 private readonly KeyValuePair<ScriptNode, bool>[] order;
22 private IEnumerator e =
null;
33 this.items = ItemEnumerator;
57 List<object> Items =
new List<object>();
59 while (await this.items.MoveNextAsync())
60 Items.Add(this.items.Current);
74 Type Tx = x.GetType();
75 Type Ty = y.GetType();
81 Vx = new ObjectProperties(x, this.variables);
82 this.propertiesX[Tx] = Vx;
89 Vy = new ObjectProperties(y, this.variables);
90 this.propertiesY[Ty] = Vy;
93 int i, j, c =
this.order.Length;
97 for (i = 0; i < c; i++)
99 Node = this.order[i].Key;
100 Ex = Node.Evaluate(Vx);
101 Ey = Node.Evaluate(Vy);
106 j = S.Compare(Ex, Ey);
109 if (this.order[i].Value)
119 this.e = Items.GetEnumerator();
122 return this.e.MoveNext();
Script runtime exception.
Base class for all nodes in a parsed script tree.
Enumerator that reorders a sequence of items.
void Reset()
IEnumerator.Reset
CustomOrderEnumerator(IResultSetEnumerator ItemEnumerator, Variables Variables, KeyValuePair< ScriptNode, bool >[] Order)
Enumerator that reorders a sequence of items.
async Task< bool > MoveNextAsync()
IEnumerator.MoveNext
bool MoveNext()
IEnumerator.MoveNext
object Current
IEnumerator.Current
Basic interface for all types of elements.
ISet AssociatedSet
Associated Set.
Basic interface for ordered sets.
Interface for result-set enumerators.