2using System.Collections.Generic;
3using System.Reflection;
15 private readonly
string name;
16 private readonly
int sign;
17 private Type lastType =
null;
18 private FieldInfo lastFieldInfo =
null;
19 private PropertyInfo lastPropertyInfo =
null;
51 Type T = Value.GetType();
52 if (T != this.lastType)
56 PropertyInfo PI = T.GetRuntimeProperty(this.name);
60 this.lastFieldInfo =
null;
62 if (PI.CanRead && PI.GetMethod.IsPublic)
63 this.lastPropertyInfo = PI;
65 this.lastPropertyInfo =
null;
69 this.lastPropertyInfo =
null;
71 FieldInfo FI = T.GetRuntimeField(this.name);
73 if (!(FI is
null) && FI.IsPublic)
74 this.lastFieldInfo = FI;
76 this.lastFieldInfo =
null;
80 if (!(this.lastPropertyInfo is
null))
82 else if (!(this.lastFieldInfo is
null))
Class managing a script expression.
static IElement Encapsulate(object Value)
Encapsulates an object.
Base class for all nodes in a parsed script tree.
static object UnnestPossibleTaskSync(object Result)
Checks if Result is an asynchronous results. If so, blocks the current thread until the result is co...
Orders elements based on their values.
int Compare(IElement x, IElement y)
Compares two elements.
Orders elements based on values of a given property.
int Compare(IElement x, IElement y)
Compares two elements.
PropertyOrder(ScriptNode Node, string Name, int Sign)
Orders elements based on values of a given property.
Basic interface for all types of elements.
object AssociatedObjectValue
Associated object value.