public void LoadData(CLIFile pFile) { int token = 0; if (pFile.TypeDefTable.Length > TypeOrMethodDefTypeMax16BitRows || pFile.MethodDefTable.Length > TypeOrMethodDefTypeMax16BitRows) { token = pFile.ReadInt32(); } else { token = pFile.ReadUInt16(); } Type = (TypeOrMethodDefType)(token & TypeOrMethodDefTypeMask); token = (token >> TypeOrMethodDefTypeBits) - 1; if (token >= 0) { switch (Type) { case TypeOrMethodDefType.TypeDef: TypeDef = pFile.TypeDefTable[token]; break; case TypeOrMethodDefType.MethodDef: MethodDef = pFile.MethodDefTable[token]; break; default: throw new BadImageFormatException("TypeOrMethodDef Type"); } } }
public void LoadData(CLIFile pFile) { int token = 0; if (pFile.TypeDefTable.Length > TypeOrMethodDefTypeMax16BitRows || pFile.MethodDefTable.Length > TypeOrMethodDefTypeMax16BitRows) token = pFile.ReadInt32(); else token = pFile.ReadUInt16(); Type = (TypeOrMethodDefType)(token & TypeOrMethodDefTypeMask); token = (token >> TypeOrMethodDefTypeBits) - 1; if (token >= 0) { switch (Type) { case TypeOrMethodDefType.TypeDef: TypeDef = pFile.TypeDefTable[token]; break; case TypeOrMethodDefType.MethodDef: MethodDef = pFile.MethodDefTable[token]; break; default: throw new BadImageFormatException("TypeOrMethodDef Type"); } } }