internal NETTableReader(TablesHeap tablesheap) { using (BinaryReader reader = new BinaryReader(new MemoryStream(tablesheap.Contents))) { tablesheap._header = ASMGlobals.ReadStructureFromReader<Structures.METADATA_TABLE_HEADER>(reader); this.tablesHeap = tablesheap; for (int i = 0; i < 45; i++) if (tablesHeap.HasTable((MetaDataTableType)i)) { tablesHeap._tablecount++; } tablesHeap._tablereader = this; if ((tablesHeap.HeapOffsetSizes & 1) == 1) tablesHeap._netheader.StringsHeap._indexsize = 4; if ((tablesHeap.HeapOffsetSizes & 2) == 2) tablesHeap._netheader.GuidHeap._indexsize = 4; if ((tablesHeap.HeapOffsetSizes & 4) == 4) tablesHeap._netheader.BlobHeap._indexsize = 4; ReadTableHeaders(reader); } }
public void ClearCache() { _tableheap = null; _stringsheap = null; _usheap = null; _blobheap = null; _guidheap = null; }
public void LoadCache() { _tableheap = TablesHeap; _stringsheap = StringsHeap; _usheap = UserStringsHeap; _blobheap = BlobHeap; _guidheap = GuidHeap; }
internal MetaDataTable(TablesHeap tableHeap, bool createNew) { TablesHeap = tableHeap; _tablesize = -1; }