Table of Contents

Class VBStdModuleType

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

Represents a standard module type.

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

Remarks

Standard module public variables are statically allocated in global scope.

Constructors

VBStdModuleType(string, bool)

Represents a standard module type.

public VBStdModuleType(string Name, bool IsHidden = false)

Parameters

Name string

the identifier name of the module.

IsHidden bool

true if the module type is hidden.

Remarks

Standard module public variables are statically allocated in global scope.

VBStdModuleType(string, IEnumerable<VBTypeMemberSymbol>?, bool)

Creates a new standard module type with the specified members.

public VBStdModuleType(string name, IEnumerable<VBTypeMemberSymbol>? members = null, bool isHidden = false)

Parameters

name string

The identifier name of the module.

members IEnumerable<VBTypeMemberSymbol>

The member definition symbols under this module type.

isHidden bool

true if the module type is hidden.

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.

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