Table of Contents

Class VBCurrencyType

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

A VBNumericType<T> representing the Currency data type.

public record VBCurrencyType : VBNumericType<VBRuntimeCurrencyValue>, IEquatable<VBType>, IEquatable<VBIntrinsicType>, IEquatable<VBNumericType>, IEquatable<VBNumericType<VBRuntimeCurrencyValue>>, IFixedPointNumericType, INumericType, IEquatable<VBCurrencyType>
Inheritance
VBCurrencyType
Implements
Inherited Members

Remarks

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

Constructors

VBCurrencyType()

A VBNumericType<T> representing the Currency data type.

public VBCurrencyType()

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 VBCurrencyValue MaxValue { get; }

Property Value

VBCurrencyValue

MinValue

Gets the minimum representable value for this data type.

public static VBCurrencyValue MinValue { get; }

Property Value

VBCurrencyValue

TypeInfo

The Currency data type.

public static VBCurrencyType TypeInfo { get; }

Property Value

VBCurrencyType

Zero

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

public static VBCurrencyValue Zero { get; }

Property Value

VBCurrencyValue

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