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
generationushortThe generation number of the module.
nameuintThe index into the #Strings heap containing the name of the module.
mviduintThe index into the #GUID heap containing the unique identifier to distinguish between two versions of the same module.
encIduintencBaseIduint
Properties
Count
public int Count { get; }
Property Value
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]
public uint this[int index] { get; }
Parameters
indexint
Property Value
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)
public bool Equals(ModuleDefinitionRow other)
Parameters
otherModuleDefinitionRow
Returns
Equals(object?)
public override bool Equals(object? obj)
Parameters
objobject
Returns
FromReader(ref BinaryStreamReader, TableLayout)
Reads a single module definition row from an input stream.
public static ModuleDefinitionRow FromReader(ref BinaryStreamReader reader, TableLayout layout)
Parameters
readerBinaryStreamReaderThe input stream.
layoutTableLayoutThe layout of the module definition table.
Returns
- ModuleDefinitionRow
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 ==(ModuleDefinitionRow, ModuleDefinitionRow)
Determines whether two rows are considered equal.
public static bool operator ==(ModuleDefinitionRow left, ModuleDefinitionRow right)
Parameters
leftModuleDefinitionRowrightModuleDefinitionRow
Returns
operator !=(ModuleDefinitionRow, ModuleDefinitionRow)
Determines whether two rows are not considered equal.
public static bool operator !=(ModuleDefinitionRow left, ModuleDefinitionRow right)
Parameters
leftModuleDefinitionRowrightModuleDefinitionRow