void InitializeRawRow_NoLock() { if (rawRow != null) { return; } rawRow = readerModule.TablesStream.ReadStandAloneSigRow(rid); }
/// <summary> /// Reads a raw <c>StandAloneSig</c> row or returns false if the row doesn't exist /// </summary> /// <param name="rid">Row ID</param> /// <param name="row">Row data</param> /// <returns></returns> public bool TryReadStandAloneSigRow(uint rid, out RawStandAloneSigRow row) { var table = StandAloneSigTable; if (table.IsInvalidRID(rid)) { row = default; return(false); } var reader = table.DataReader; reader.Position = (rid - 1) * (uint)table.TableInfo.RowSize; row = new RawStandAloneSigRow(table.Column0.Unsafe_Read24(ref reader)); return(true); }
/// <inheritdoc/> protected override uint AddStandAloneSig(StandAloneSig sas) { if (sas == null) { Error("StandAloneSig is null"); return(0); } if (standAloneSigInfos.TryGetRid(sas, out uint rid)) { return(rid); } var row = new RawStandAloneSigRow(GetSignature(sas.Signature)); rid = tablesHeap.StandAloneSigTable.Add(row); standAloneSigInfos.Add(sas, rid); AddCustomAttributes(Table.StandAloneSig, rid, sas); AddCustomDebugInformationList(Table.StandAloneSig, rid, sas); return(rid); }
public int GetHashCode(RawStandAloneSigRow obj) => (int)obj.Signature;
public bool Equals(RawStandAloneSigRow x, RawStandAloneSigRow y) => x.Signature == y.Signature;
public int GetHashCode(RawStandAloneSigRow obj) { return((int)obj.Signature); }
public bool Equals(RawStandAloneSigRow x, RawStandAloneSigRow y) { return(x.Signature == y.Signature); }
static uint ReadStandAloneSigColumnMethod(ref RawStandAloneSigRow row, int index) => row[index];