Table of Contents

Class VBVariantType

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

A VBIntrinsicType<T> representing the Variant data type.

public sealed record VBVariantType : VBIntrinsicType<object>, IEquatable<VBType>, IEquatable<VBIntrinsicType>, IEquatable<VBIntrinsicType<object>>, IEquatable<VBVariantType>
Inheritance
VBVariantType
Implements
Inherited Members

Remarks

The managed type of a value of this data type is object.
👉 The VBVariant subtype can be any VBType including VBVariant, or otherwise semantically invalid data types such as VBUnknownType.

Constructors

VBVariantType(VBType)

A VBIntrinsicType<T> representing the Variant data type.

public VBVariantType(VBType SubType)

Parameters

SubType VBType

The variant subtype, or wrapped data type.

Remarks

The managed type of a value of this data type is object.
👉 The VBVariant subtype can be any VBType including VBVariant, or otherwise semantically invalid data types such as VBUnknownType.

Properties

DefaultValue

Gets the default value for this data type.

public override VBVariantValue DefaultValue { get; }

Property Value

VBVariantValue

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.

Size

The size (in bytes) of a value of this type.

public override int Size { get; }

Property Value

int

Remarks

Determines the length of the allocated memory space for a value of this type.

SubType

The variant subtype, or wrapped data type.

public VBType SubType { get; init; }

Property Value

VBType

Subtype

The variant subtype, or wrapped data type.

public VBType Subtype { get; }

Property Value

VBType

TypeInfo

The Variant data type.

public static VBVariantType TypeInfo { get; }

Property Value

VBVariantType