void InitializeRawRow_NoLock()
 {
     if (rawRow != null)
     {
         return;
     }
     rawRow = readerModule.TablesStream.ReadStandAloneSigRow(rid);
 }
Esempio n. 2
0
        /// <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);
        }
Esempio n. 4
0
 public int GetHashCode(RawStandAloneSigRow obj) => (int)obj.Signature;
Esempio n. 5
0
 public bool Equals(RawStandAloneSigRow x, RawStandAloneSigRow y) => x.Signature == y.Signature;
Esempio n. 6
0
 public int GetHashCode(RawStandAloneSigRow obj)
 {
     return((int)obj.Signature);
 }
Esempio n. 7
0
 public bool Equals(RawStandAloneSigRow x, RawStandAloneSigRow y)
 {
     return(x.Signature == y.Signature);
 }
Esempio n. 8
0
 static uint ReadStandAloneSigColumnMethod(ref RawStandAloneSigRow row, int index) => row[index];