Table of Contents

Class VBEnumType

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

Represents any Enum type.

public sealed record VBEnumType : VBType, IEquatable<VBType>, IVBMemberOwnerType, IEquatable<VBEnumType>
Inheritance
VBEnumType
Implements
Inherited Members

Constructors

VBEnumType(Symbol, bool)

Represents any Enum type.

public VBEnumType(Symbol Symbol, bool IsHidden = false)

Parameters

Symbol Symbol
IsHidden bool

VBEnumType(Symbol, IEnumerable<VBEnumConstMemberSymbol>?, bool)

public VBEnumType(Symbol symbol, IEnumerable<VBEnumConstMemberSymbol>? members = null, bool isHidden = false)

Parameters

symbol Symbol
members IEnumerable<VBEnumConstMemberSymbol>
isHidden bool

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.

Members

Gets the members of this type.

public ImmutableArray<VBTypeMemberSymbol> Members { get; init; }

Property Value

ImmutableArray<VBTypeMemberSymbol>

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.

Symbol

public Symbol Symbol { get; init; }

Property Value

Symbol

Methods

WithMembers(IEnumerable<VBTypeMemberSymbol>)

Gets a copy of this type with the specified members.

public IVBMemberOwnerType WithMembers(IEnumerable<VBTypeMemberSymbol> members)

Parameters

members IEnumerable<VBTypeMemberSymbol>

The members of the new type.

Returns

IVBMemberOwnerType