Table of Contents

Class VBDecimalType

Namespace
RDCore.SDK.Model.Types
Assembly
RDCore.SDK.dll

A VBNumericType<T> representing the Decimal data type.

public sealed record VBDecimalType : VBNumericType<decimal>, IEquatable<VBType>, IEquatable<VBIntrinsicType>, IEquatable<VBNumericType>, IEquatable<VBNumericType<decimal>>, IFixedPointNumericType, INumericType, IEquatable<VBDecimalType>
Inheritance
VBDecimalType
Implements
Inherited Members

Remarks

The managed type of a value of this data type is decimal.
👉 Implements IFixedPointNumericType.

Constructors

VBDecimalType()

A VBNumericType<T> representing the Decimal data type.

public VBDecimalType()

Remarks

The managed type of a value of this data type is decimal.
👉 Implements IFixedPointNumericType.

Properties

DefaultValue

Gets the default value for this data type.

public override VBTypedValue DefaultValue { get; }

Property Value

VBTypedValue

Remarks

⚠️ Derived types must back the implementation of this property with a thread-safe private static readonly Lazy<T>. Failure to do so would lock up the static context initialization of the StaticSymbol symbols.

ManagedMaxValue

Gets the maximum representable managed (.net) value for this data type.

public override double ManagedMaxValue { get; }

Property Value

double

ManagedMinValue

Gets the minimum representable managed (.net) value for this data type.

public override double ManagedMinValue { get; }

Property Value

double

MaxValue

Gets the maximum representable value for this data type.

public static VBDecimalValue MaxValue { get; }

Property Value

VBDecimalValue

MinValue

Gets the minimum representable value for this data type.

public static VBDecimalValue MinValue { get; }

Property Value

VBDecimalValue

TypeInfo

The Decimal data type.

public static VBDecimalType TypeInfo { get; }

Property Value

VBDecimalType

Zero

Gets the value 0 (zero) representation of this data type.

public static VBDecimalValue Zero { get; }

Property Value

VBDecimalValue

Methods

CreateValue(IBindingHandle)

Creates a value of this type bound to handle.

public override VBTypedValue CreateValue(IBindingHandle handle)

Parameters

handle IBindingHandle

Returns

VBTypedValue

Remarks

The base implementation throws: only types that can hold a runtime value override this (matches the intent of the removed VBTypedValueFactory.CreateValue(VBType) switch, which returned null for the rest).

CreateValue(double)

Creates a value of this numeric type holding value, converted to this type's managed representation (banker's rounding for integral targets, as per Convert).

public override VBNumericTypedValue CreateValue(double value)

Parameters

value double

Returns

VBNumericTypedValue