Table of Contents

Class LayoutFieldInfo

Namespace
CStructSharp.Introspection
Assembly
CStructSharp.dll

One field of a struct or union.

public sealed class LayoutFieldInfo
Inheritance
LayoutFieldInfo
Inherited Members

Properties

ArrayKind

Gets how elements are counted.

public LayoutArrayKind ArrayKind { get; }

Property Value

LayoutArrayKind

BitOffset

Gets the bit offset of a bitfield inside its storage unit; null otherwise.

public int? BitOffset { get; }

Property Value

int?

BitWidth

Gets the bit width of a bitfield; null otherwise.

public int? BitWidth { get; }

Property Value

int?

Dimensions

Gets each dimension's fixed count, outermost first; null when a dimension is decided at runtime.

public IReadOnlyList<int?> Dimensions { get; }

Property Value

IReadOnlyList<int?>

IsAnonymous

Gets whether the field is an anonymous promoted member whose own fields are spliced into the parent (see PromotedFields).

public bool IsAnonymous { get; }

Property Value

bool

IsConditional

Gets whether the field exists only when a conditional selects it.

public bool IsConditional { get; }

Property Value

bool

Name

Gets the field name; empty for an anonymous bitfield or an anonymous promoted member.

public string Name { get; }

Property Value

string

Offset

Gets the byte offset from the containing composite's start when it is static; null when a preceding field is runtime-sized.

public int? Offset { get; }

Property Value

int?

PointerDepth

Gets the pointer depth (0 for a value field).

public int PointerDepth { get; }

Property Value

int

PromotedFields

Gets the fields of an anonymous promoted member; empty otherwise.

public IReadOnlyList<LayoutFieldInfo> PromotedFields { get; }

Property Value

IReadOnlyList<LayoutFieldInfo>

Size

Gets the field's total storage size when it is static; null otherwise.

public int? Size { get; }

Property Value

int?

TypeName

Gets the resolved type name: a canonical primitive codec, a declaration name, or the anonymous composite's own name.

public string TypeName { get; }

Property Value

string