public abstract class Value : IValueProvider,
IValue| Value(MakeValueArgs) | Initializes a new instance of the [!:Values] with provided values. Used in derived classes to initialize base class fields. |
| Value(Value) | Initializes a new instance of the Value which is deep copy of the supplied value parameter. |
| Expression | Metadata of expression that yielded this value. |
| Name | Name of value |
| Origin | Origin type of the value. |
| Primitive | Numeric primitive representation of the value. |
| PrimitiveString | Formatted string representation of the primitive value. |
| Scope | Named scope that this value is part of |
| Tags | Custom tags associated with the value. |
| Type | Original type of the value implementation. |
| Equals(IValueProvider) | Determines whether two Values are equal based on underlying primitive value. |
| Equals(Object) | Determines whether two Values are equal based on underlying primitive value. (Overrides ObjectEquals(Object)) |
| GetHashCode | Serves as the default hash function, returns hash of the Primitive property value. This function is a subject to future change. (Overrides ObjectGetHashCode) |
| HandleBinaryOperationResultType, ResultPrimitiveType | Handles math and comparison operations of underlying primitve values in derived types. |
| MakeDefault | Initializes a new instance with default values, equivalent to zero/null value. |
| MakeOfThisType | Initializes a new instance of the derived value class. Used by the framework to create expected result types. |
| ToString | Returns a string that represents the current value. (Overrides ObjectToString) |