Struct ClassLayoutRow
- Namespace
- AsmResolver.PE.DotNet.Metadata.Tables
- Assembly
- AsmResolver.PE.dll
Represents a single row in the class layout metadata table.
public struct ClassLayoutRow : IMetadataRow, IReadOnlyList<uint>, IReadOnlyCollection<uint>, IEnumerable<uint>, IEnumerable, IEquatable<ClassLayoutRow>
- Implements
- Inherited Members
Constructors
ClassLayoutRow(ushort, uint, uint)
Creates a new row for the class layout metadata table,
public ClassLayoutRow(ushort packingSize, uint classSize, uint parent)
Parameters
packingSizeushortThe alignment in bytes of each field in the type.
classSizeuintThe size in bytes of the type.
parentuintThe index into the TypeDef table indicating the type that this layout is assigned to.
Properties
ClassSize
Gets or sets the size in bytes of the type.
public uint ClassSize { readonly get; set; }
Property Value
Count
public int Count { get; }
Property Value
this[int]
public uint this[int index] { get; }
Parameters
indexint
Property Value
PackingSize
Gets or sets the alignment in bytes of each field in the type.
public ushort PackingSize { readonly get; set; }
Property Value
Remarks
This value should be a power of two between 0 and 128.
Parent
Gets or sets an index into the TypeDef table indicating the type that this layout is assigned to.
public uint Parent { readonly get; set; }
Property Value
TableIndex
Gets or sets the index of the table that this row is stored in.
public TableIndex TableIndex { get; }
Property Value
Methods
Equals(ClassLayoutRow)
public bool Equals(ClassLayoutRow other)
Parameters
otherClassLayoutRow
Returns
Equals(object?)
public override bool Equals(object? obj)
Parameters
objobject
Returns
FromReader(ref BinaryStreamReader, TableLayout)
Reads a single class layout row from an input stream.
public static ClassLayoutRow FromReader(ref BinaryStreamReader reader, TableLayout layout)
Parameters
readerBinaryStreamReaderThe input stream.
layoutTableLayoutThe layout of the class layout table.
Returns
- ClassLayoutRow
The row.
GetEnumerator()
public IEnumerator<uint> GetEnumerator()
Returns
GetHashCode()
public override int GetHashCode()
Returns
ToString()
public override string ToString()
Returns
Write(BinaryStreamWriter, TableLayout)
Writes the row to an output stream.
public void Write(BinaryStreamWriter writer, TableLayout layout)
Parameters
writerBinaryStreamWriterThe output stream writer.
layoutTableLayoutThe new layout of the table.
Operators
operator ==(ClassLayoutRow, ClassLayoutRow)
Determines whether two rows are considered equal.
public static bool operator ==(ClassLayoutRow left, ClassLayoutRow right)
Parameters
leftClassLayoutRowrightClassLayoutRow
Returns
operator !=(ClassLayoutRow, ClassLayoutRow)
Determines whether two rows are not considered equal.
public static bool operator !=(ClassLayoutRow left, ClassLayoutRow right)
Parameters
leftClassLayoutRowrightClassLayoutRow