Struct CustomAttributeRow
- Namespace
- AsmResolver.PE.DotNet.Metadata.Tables
- Assembly
- AsmResolver.PE.dll
Represents a single row in the custom attribute metadata table.
public struct CustomAttributeRow : IMetadataRow, IReadOnlyList<uint>, IReadOnlyCollection<uint>, IEnumerable<uint>, IEnumerable, IEquatable<CustomAttributeRow>- Implements
- Inherited Members
Constructors
CustomAttributeRow(uint, uint, uint)
Creates a new row for the custom attribute metadata table.
public CustomAttributeRow(uint parent, uint type, uint value)Parameters
- parentuint
- The HasCustomAttribute index that this attribute is assigned to. 
- typeuint
- The CustomAttributeType index (an index into either the Method or MemberRef table) defining the constructor to call when initializing the custom attribute. 
- valueuint
- The index into the #Blob stream containing the arguments of the constructor call. 
Properties
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. 
Parent
Gets a HasCustomAttribute index (an index into either the Method, Field, TypeRef, TypeDef, Param, InterfaceImpl, MemberRef, Module, DeclSecurity, Property, Event, StandAloneSig, ModuleRef, TypeSpec, Assembly, AssemblyRef, File, ExportedType, ManifestResource, GenericParam, GenericParamConstraint, or MethodSpec table) that this attribute 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
Type
Gets a CustomAttributeType index (an index into either the Method or MemberRef table) defining the constructor to call when initializing the custom attribute.
public uint Type { readonly get; set; }Property Value
Value
Gets or sets an index into the #Blob stream containing the arguments of the constructor call.
public uint Value { readonly get; set; }Property Value
Methods
Equals(CustomAttributeRow)
Indicates whether the current object is equal to another object of the same type.
public bool Equals(CustomAttributeRow other)Parameters
- otherCustomAttributeRow
- 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 custom attribute row from an input stream.
public static CustomAttributeRow FromReader(ref BinaryStreamReader reader, TableLayout layout)Parameters
- readerBinaryStreamReader
- The input stream. 
- layoutTableLayout
- The layout of the custom attribute table. 
Returns
- CustomAttributeRow
- 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 ==(CustomAttributeRow, CustomAttributeRow)
Determines whether two rows are considered equal.
public static bool operator ==(CustomAttributeRow left, CustomAttributeRow right)Parameters
- leftCustomAttributeRow
- rightCustomAttributeRow
Returns
operator !=(CustomAttributeRow, CustomAttributeRow)
Determines whether two rows are not considered equal.
public static bool operator !=(CustomAttributeRow left, CustomAttributeRow right)Parameters
- leftCustomAttributeRow
- rightCustomAttributeRow