Class VBMissingType
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
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
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
handleIBindingHandle
Returns
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).