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
- packingSizeushort
- The alignment in bytes of each field in the type. 
- classSizeuint
- The size in bytes of the type. 
- parentuint
- The 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
Gets the number of elements in the collection.
public int Count { get; }Property Value
- int
- The number of elements in the collection. 
this[int]
Gets the element at the specified index in the read-only list.
public uint this[int index] { get; }Parameters
- indexint
- The zero-based index of the element to get. 
Property Value
- uint
- The element at the specified index in the read-only list. 
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)
Indicates whether the current object is equal to another object of the same type.
public bool Equals(ClassLayoutRow other)Parameters
- otherClassLayoutRow
- An object to compare with this object. 
Returns
Equals(object?)
Indicates whether this instance and a specified object are equal.
public override bool Equals(object? obj)Parameters
- objobject
- The object to compare with the current instance. 
Returns
- bool
- true if - objand this instance are the same type and represent the same value; otherwise, false.
FromReader(ref BinaryStreamReader, TableLayout)
Reads a single class layout row from an input stream.
public static ClassLayoutRow FromReader(ref BinaryStreamReader reader, TableLayout layout)Parameters
- readerBinaryStreamReader
- The input stream. 
- layoutTableLayout
- The layout of the class layout table. 
Returns
- ClassLayoutRow
- The row. 
GetEnumerator()
Returns an enumerator that iterates through the collection.
public IEnumerator<uint> GetEnumerator()Returns
- IEnumerator<uint>
- An enumerator that can be used to iterate through the collection. 
GetHashCode()
Returns the hash code for this instance.
public override int GetHashCode()Returns
- int
- A 32-bit signed integer that is the hash code for this instance. 
ToString()
Returns the fully qualified type name of this instance.
public override string ToString()Returns
- string
- The fully qualified type name. 
Write(BinaryStreamWriter, TableLayout)
Writes the row to an output stream.
public void Write(BinaryStreamWriter writer, TableLayout layout)Parameters
- writerBinaryStreamWriter
- The output stream writer. 
- layoutTableLayout
- The 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
- leftClassLayoutRow
- rightClassLayoutRow
Returns
operator !=(ClassLayoutRow, ClassLayoutRow)
Determines whether two rows are not considered equal.
public static bool operator !=(ClassLayoutRow left, ClassLayoutRow right)Parameters
- leftClassLayoutRow
- rightClassLayoutRow