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
parentuintThe HasCustomAttribute index that this attribute is assigned to.
typeuintThe CustomAttributeType index (an index into either the Method or MemberRef table) defining the constructor to call when initializing the custom attribute.
valueuintThe index into the #Blob stream containing the arguments of the constructor call.
Properties
Count
public int Count { get; }
Property Value
this[int]
public uint this[int index] { get; }
Parameters
indexint
Property Value
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)
public bool Equals(CustomAttributeRow other)
Parameters
otherCustomAttributeRow
Returns
Equals(object?)
public override bool Equals(object? obj)
Parameters
objobject
Returns
FromReader(ref BinaryStreamReader, TableLayout)
Reads a single custom attribute row from an input stream.
public static CustomAttributeRow FromReader(ref BinaryStreamReader reader, TableLayout layout)
Parameters
readerBinaryStreamReaderThe input stream.
layoutTableLayoutThe layout of the custom attribute table.
Returns
- CustomAttributeRow
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 ==(CustomAttributeRow, CustomAttributeRow)
Determines whether two rows are considered equal.
public static bool operator ==(CustomAttributeRow left, CustomAttributeRow right)
Parameters
leftCustomAttributeRowrightCustomAttributeRow
Returns
operator !=(CustomAttributeRow, CustomAttributeRow)
Determines whether two rows are not considered equal.
public static bool operator !=(CustomAttributeRow left, CustomAttributeRow right)
Parameters
leftCustomAttributeRowrightCustomAttributeRow