Struct MethodImplementationRow
- Namespace
- AsmResolver.PE.DotNet.Metadata.Tables
- Assembly
- AsmResolver.PE.dll
Represents a single row in the method implementation metadata table.
public struct MethodImplementationRow : IMetadataRow, IReadOnlyList<uint>, IReadOnlyCollection<uint>, IEnumerable<uint>, IEnumerable, IEquatable<MethodImplementationRow>- Implements
- Inherited Members
Constructors
MethodImplementationRow(uint, uint, uint)
Creates a new row for the method implementation metadata table.
public MethodImplementationRow(uint @class, uint methodBody, uint methodDeclaration)Parameters
- classuint
- The index into the TypeDef table indicating the class that inherited methods from an interface. 
- methodBodyuint
- The MethodDefOrRef index indicating the method which provides the implementation for the interface method. 
- methodDeclarationuint
- The MethodDefOrRef index indicating the interface method which is implemented. 
Properties
Class
Gets or sets an index into the TypeDef table indicating the class that inherited methods from an interface.
public uint Class { 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. 
MethodBody
Gets a MethodDefOrRef index (an index into either the Method or MemberRef table) indicating the method which provides the implementation for the interface method.
public uint MethodBody { readonly get; set; }Property Value
MethodDeclaration
Gets a MethodDefOrRef index (an index into either the Method or MemberRef table) indicating the interface method which is implemented.
public uint MethodDeclaration { 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(MethodImplementationRow)
Indicates whether the current object is equal to another object of the same type.
public bool Equals(MethodImplementationRow other)Parameters
- otherMethodImplementationRow
- 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 method implementation row from an input stream.
public static MethodImplementationRow FromReader(ref BinaryStreamReader reader, TableLayout layout)Parameters
- readerBinaryStreamReader
- The input stream. 
- layoutTableLayout
- The layout of the method implementation table. 
Returns
- MethodImplementationRow
- 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 ==(MethodImplementationRow, MethodImplementationRow)
Determines whether two rows are considered equal.
public static bool operator ==(MethodImplementationRow left, MethodImplementationRow right)Parameters
- leftMethodImplementationRow
- rightMethodImplementationRow
Returns
operator !=(MethodImplementationRow, MethodImplementationRow)
Determines whether two rows are not considered equal.
public static bool operator !=(MethodImplementationRow left, MethodImplementationRow right)Parameters
- leftMethodImplementationRow
- rightMethodImplementationRow