Table of Contents

Class VBUserDefinedTypeValue

Namespace
RDCore.SDK.Model.Values.Intrinsic
Assembly
RDCore.SDK.dll

Represents a value of a VBUserDefinedType. Like VBObjectValue the value is a MemoryAddress — a UDT has location identity and is never passed by value.

public record VBUserDefinedTypeValue : VBTypedValue, IEquatable<VBTypedValue>, IVBTypedValue<VBUserDefinedTypeValue, MemoryAddress>, IEquatable<IVBTypedValue<VBUserDefinedTypeValue, MemoryAddress>>, IEquatable<VBUserDefinedTypeValue>
Inheritance
VBUserDefinedTypeValue
Implements
Inherited Members

Constructors

VBUserDefinedTypeValue(VBUserDefinedType)

public VBUserDefinedTypeValue(VBUserDefinedType typeInfo)

Parameters

typeInfo VBUserDefinedType

VBUserDefinedTypeValue(IBindingHandle, VBUserDefinedType)

public VBUserDefinedTypeValue(IBindingHandle handle, VBUserDefinedType typeInfo)

Parameters

handle IBindingHandle
typeInfo VBUserDefinedType

VBUserDefinedTypeValue(MemoryAddress, VBUserDefinedType)

public VBUserDefinedTypeValue(MemoryAddress reference, VBUserDefinedType typeInfo)

Parameters

reference MemoryAddress
typeInfo VBUserDefinedType

Properties

Size

The allocated size (in bytes) of this value.

public override int Size { get; }

Property Value

int

Value

Gets the underlying managed value corresponding to this typed value.

public MemoryAddress Value { get; }

Property Value

MemoryAddress

Methods

Equals(IVBTypedValue<VBUserDefinedTypeValue, MemoryAddress>?)

Indicates whether the current object is equal to another object of the same type.

public bool Equals(IVBTypedValue<VBUserDefinedTypeValue, MemoryAddress>? other)

Parameters

other IVBTypedValue<VBUserDefinedTypeValue, MemoryAddress>

An object to compare with this object.

Returns

bool

true if the current object is equal to the other parameter; otherwise, false.

TryAllocateIn(ISessionStorage, out VBUserDefinedTypeValue?)

Reserves storage sized for this UDT through storage, and returns a copy of this value bound to the resulting address — a UDT's identity is its address, so the allocated copy self-reports the very address it was allocated at.

public bool TryAllocateIn(ISessionStorage storage, out VBUserDefinedTypeValue? allocated)

Parameters

storage ISessionStorage
allocated VBUserDefinedTypeValue

Returns

bool

false if the underlying memory space is exhausted.