/// <summary> /// </summary> /// <param name="peModuleSymbol"> /// </param> /// <param name="peFieldSymbol"> /// </param> /// <returns> /// </returns> private byte[] GetFieldBody(PEModuleSymbol peModuleSymbol, PEFieldSymbol peFieldSymbol) { var peModule = peModuleSymbol.Module; if (peFieldSymbol != null) { var field = peModule.MetadataReader.GetField(peFieldSymbol.Handle); return(GetFieldBody(field.GetRelativeVirtualAddress(), peModule.PEReaderOpt)); } return(null); }
/// <summary> /// </summary> /// <param name="peModuleSymbol"> /// </param> /// <param name="peMethodSymbol"> /// </param> private void GetPEFieldSymbol(out PEModuleSymbol peModuleSymbol, out PEFieldSymbol peMethodSymbol) { peModuleSymbol = this.fieldDef.ContainingModule as PEModuleSymbol; peMethodSymbol = this.fieldDef as PEFieldSymbol ?? this.fieldDef.OriginalDefinition as PEFieldSymbol; }