Class VBEnumType
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
VBEnumType(Symbol, IEnumerable<VBEnumConstMemberSymbol>?, bool)
public VBEnumType(Symbol symbol, IEnumerable<VBEnumConstMemberSymbol>? members = null, bool isHidden = false)
Parameters
symbolSymbolmembersIEnumerable<VBEnumConstMemberSymbol>isHiddenbool
Properties
DefaultValue
Gets the default value for this data type.
public override VBTypedValue 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.
Members
Gets the members of this type.
public ImmutableArray<VBTypeMemberSymbol> Members { get; init; }
Property Value
Size
The size (in bytes) of a value of this type.
public override int Size { get; }
Property Value
Remarks
Determines the length of the allocated memory space for a value of this type.
Symbol
public Symbol Symbol { get; init; }
Property Value
Methods
WithMembers(IEnumerable<VBTypeMemberSymbol>)
Gets a copy of this type with the specified members.
public IVBMemberOwnerType WithMembers(IEnumerable<VBTypeMemberSymbol> members)
Parameters
membersIEnumerable<VBTypeMemberSymbol>The members of the new type.