private void ReconstructMethodBodies(Workspace workspace, TypeDefinition declaringType) { if (declaringType.HasMethods) { foreach (MethodDefinition methodDef in declaringType.Methods) { if (methodDef.HasBody) { MethodBody methodBody = methodDef.Body; byte[] serializedBody = SerializeMethodBody(workspace, methodBody); MethodBodyInfo info = new MethodBodyInfo() { Bytes = serializedBody, }; workspace.MethodBodyTable.AppendMethodBody(info); } } } }
public void AppendMethodBody(MethodBodyInfo methodBody) { methodBody.RelativeOffset = (uint)Stream.Position; Writer.Write(methodBody.Bytes); MethodEntries.Add(methodBody); }