Struct StructuredValue
Assembly: Serenity.Global.Domain.dll
Syntax
public readonly struct StructuredValue : IEquatable<StructuredValue>
Fields
Kind
Which primitive this value holds.
Declaration
public readonly StructuredValueKind Kind
Field Value
Null
The single, shared representation of the JSON/SQL null value.
Declaration
public static readonly StructuredValue Null
Field Value
Methods
AsBool()
Declaration
Returns
Exceptions
AsDouble()
Declaration
Returns
Exceptions
AsLong()
Gets the 64-bit integer value.
Declaration
Returns
Exceptions
AsString()
Gets the string value, or null when this value is Null.
Declaration
Returns
Exceptions
Compare(StructuredValue, StructuredValue)
Compares two values in a kind-aware total order. Null
orders BEFORE any non-null value (and two nulls are equal), so nullable fields still
sort deterministically. Comparing two NON-null values of different kinds throws
ArgumentException — a field must hold one consistent kind, and a silent
cross-kind ordering would let relational backends (which compare by column type) diverge
from the in-memory engine. Doubles compare by exact value equality (no epsilon
tolerance); strings compare via ordinal comparison.
Declaration
public static int Compare(StructuredValue left, StructuredValue right)
Parameters
Returns
Exceptions
| Type |
Condition |
| ArgumentException |
Thrown when both values are non-null and their kinds differ.
|
Equals(StructuredValue)
Declaration
public bool Equals(StructuredValue other)
Parameters
Returns
Equals(object)
Declaration
public override bool Equals(object obj)
Parameters
| Type |
Name |
Description |
| object |
obj |
|
Returns
Overrides
GetHashCode()
Declaration
public override int GetHashCode()
Returns
Overrides
Of(bool)
Declaration
public static StructuredValue Of(bool value)
Parameters
| Type |
Name |
Description |
| bool |
value |
|
Returns
Of(double)
Declaration
public static StructuredValue Of(double value)
Parameters
| Type |
Name |
Description |
| double |
value |
|
Returns
Of(long)
Declaration
public static StructuredValue Of(long value)
Parameters
| Type |
Name |
Description |
| long |
value |
|
Returns
Of(string)
Declaration
public static StructuredValue Of(string value)
Parameters
| Type |
Name |
Description |
| string |
value |
|
Returns
ToString()
Declaration
public override string ToString()
Returns
Overrides
Operators
operator ==(StructuredValue, StructuredValue)
Declaration
public static bool operator ==(StructuredValue left, StructuredValue right)
Parameters
Returns
operator !=(StructuredValue, StructuredValue)
Declaration
public static bool operator !=(StructuredValue left, StructuredValue right)
Parameters
Returns
Implements