Table of Contents

Class VBMissingType

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

A VBIntrinsicType<T> representing the Variant subtype given to an optional Variant parameter that was not supplied.

public record VBMissingType : VBErrorType, IEquatable<VBType>, IEquatable<VBIntrinsicType>, IEquatable<VBIntrinsicType<int>>, IEquatable<VBErrorType>, IEquatable<VBMissingType>
Inheritance
VBMissingType
Implements
Inherited Members
Extension Methods

Remarks

The managed type of a value of this data type is int.
👉 This data type has no declaration semantics and is only indirectly usable as a Variant subtype. It is a kind of VBErrorType: whatever handles an error value handles the Missing one (see VBMissingValue).

Constructors

VBMissingType()

Creates the Missing data type. Use TypeInfo.

public VBMissingType()

Properties

DefaultValue

Gets the default value for this data type.

public override VBMissingValue DefaultValue { get; }

Property Value

VBMissingValue

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.

TypeInfo

The Missing data type.

public static VBMissingType TypeInfo { get; }

Property Value

VBMissingType

Remarks

This data type has no declaration semantics and is only indirectly usable as a Variant subtype.

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).