Struct ModuleDefinitionRow
- Namespace
- AsmResolver.PE.DotNet.Metadata.Tables
- Assembly
- AsmResolver.PE.dll
Represents a single row in the module definition metadata table.
public struct ModuleDefinitionRow : IMetadataRow, IReadOnlyList<uint>, IReadOnlyCollection<uint>, IEnumerable<uint>, IEnumerable, IEquatable<ModuleDefinitionRow>- Implements
- Inherited Members
Constructors
ModuleDefinitionRow(ushort, uint, uint, uint, uint)
Creates a new row for the module definition metadata table.
public ModuleDefinitionRow(ushort generation, uint name, uint mvid, uint encId, uint encBaseId)Parameters
- generationushort
- The generation number of the module. 
- nameuint
- The index into the #Strings heap containing the name of the module. 
- mviduint
- The index into the #GUID heap containing the unique identifier to distinguish between two versions of the same module. 
- encIduint
- encBaseIduint
Properties
Count
Gets the number of elements in the collection.
public int Count { get; }Property Value
- int
- The number of elements in the collection. 
EncBaseId
Gets or sets an index into the #GUID heap containing the base identifier of an edit-and-continue generation.
public uint EncBaseId { readonly get; set; }Property Value
EncId
Gets or sets an index into the #GUID heap containing the unique identifier to distinguish between two edit-and-continue generations.
public uint EncId { readonly get; set; }Property Value
Generation
Gets or sets the generation number of the module.
public ushort Generation { readonly get; set; }Property Value
Remarks
This value is reserved and should be set to zero.
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. 
Mvid
Gets or sets an index into the #GUID heap containing the unique identifier to distinguish between two versions of the same module.
public uint Mvid { readonly get; set; }Property Value
Name
Gets or sets an index into the #Strings heap containing the name of the module.
public uint Name { 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(ModuleDefinitionRow)
Indicates whether the current object is equal to another object of the same type.
public bool Equals(ModuleDefinitionRow other)Parameters
- otherModuleDefinitionRow
- 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 module definition row from an input stream.
public static ModuleDefinitionRow FromReader(ref BinaryStreamReader reader, TableLayout layout)Parameters
- readerBinaryStreamReader
- The input stream. 
- layoutTableLayout
- The layout of the module definition table. 
Returns
- ModuleDefinitionRow
- 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 ==(ModuleDefinitionRow, ModuleDefinitionRow)
Determines whether two rows are considered equal.
public static bool operator ==(ModuleDefinitionRow left, ModuleDefinitionRow right)Parameters
- leftModuleDefinitionRow
- rightModuleDefinitionRow
Returns
operator !=(ModuleDefinitionRow, ModuleDefinitionRow)
Determines whether two rows are not considered equal.
public static bool operator !=(ModuleDefinitionRow left, ModuleDefinitionRow right)Parameters
- leftModuleDefinitionRow
- rightModuleDefinitionRow