2using System.Reflection;
32 set => this.value = value;
38 if (this.value is
null)
49 get {
return associatedSet; }
58 public override bool Equals(
object obj)
63 object Obj = E.AssociatedObjectValue;
65 if ((this.value is
null) ^ (Obj is
null))
68 if (this.value is
null)
71 return this.value.Equals(Obj);
77 if (this.value is
null)
80 return this.value.GetHashCode();
96 TypeInfo TI = DesiredType.GetTypeInfo();
98 if (this.value is
null)
101 return !TI.IsValueType || !(Nullable.GetUnderlyingType(DesiredType) is
null);
105 if (TI.IsAssignableFrom(
this.value.GetType().GetTypeInfo()))
110 else if (TI.IsAssignableFrom(typeof(
ObjectValue).GetTypeInfo()))
125 if (this.value is IDisposable D)
Base class for all types of elements.
Class managing a script expression.
static bool TryConvert(object Value, Type DesiredType, out object Result)
Tries to convert an object Value to an object of type DesiredType .
static string ToString(double Value)
Converts a value to a string, that can be parsed as part of an expression.
void Dispose()
IDisposable.Dispose
ObjectValue(object Value)
Object value.
static readonly ObjectValue Null
Null value.
object Value
Object value.
override bool TryConvertTo(Type DesiredType, out object Value)
Converts the value to a .NET type.
override ISet AssociatedSet
Associated Set.
override bool Equals(object obj)
Compares the element to another. If elements are equal.
override object AssociatedObjectValue
Associated object value.
override int GetHashCode()
Calculates a hash code of the element. Hash code.
override string ToString()
Basic interface for all types of elements.
Basic interface for all types of sets.