public HasTable ( MetaDataTableType table ) : bool | ||
table | MetaDataTableType | |
리턴 | bool |
internal NETTableReader(TablesHeap tablesheap) { reader = new BinaryReader(new MemoryStream(tablesheap.Contents)); tablesheap.header = ASMGlobals.ReadStructureFromReader<Structures.METADATA_TABLE_HEADER>(reader); this.tableheap = tablesheap; for (int i = 0; i < 45; i++) if (tableheap.HasTable((MetaDataTableType)i)) { tableheap.tablecount++; } ReadTableHeaders(); tableheap.tablereader = this; // ReadTables(); }
internal NETTableReader(MetaDataStream stream) { this.stream = stream; reader = new BinaryReader(new MemoryStream(stream.Contents)); tableheap = new TablesHeap(); tableheap.header = ASMGlobals.ReadStructureFromReader<Structures.METADATA_TABLE_HEADER>(reader); tableheap.reader = stream.reader; tableheap.offset = stream.offset; tableheap.size = stream.size; tableheap.stream = stream; tableheap.streamoffset = stream.streamoffset; tableheap.headeroffset = stream.headeroffset; tableheap.netheader = stream.netheader; for (int i = 0; i < 45; i++) if (tableheap.HasTable((MetaDataTableType)i)) { tableheap.tablecount++; } ReadTableHeaders(); tableheap.tablereader = this; // ReadTables(); }
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); } }