我在网上到处都看过,似乎找不到能够解决该问题的特定答案。从字面上看,这是我得到的唯一错误,只有在解决此问题后才能构建可执行文件。

int num3 = new VAMemory(Data.processname).ReadInt32(IntPtr.op_Addition(((IEnumerable<Process>)Process.GetProcessesByName(Data.processname)).FirstOrDefault().MainModule.BaseAddress, num2));

这是错误:
IntPtr.operator + (IntPtr, int) cannot call operator or accessor

最佳答案

你可以

  • 使用IntPtr.Add(IntPtr, Int32)方法
    var baseAddress = Process
        .GetProcessesByName(Data.processname)
        .FirstOrDefault()
        .MainModule
        .BaseAddress;
    var address = IntPtr.Add(baseAddress, num2);
    var valueAtAddress = new VAMemory(Data.processname).ReadInt32(address);
    
  • 或转换IntPtr to Int64,添加num2,然后将其转换回IntPtr
  • 关于c# - IntPtr.operator +(IntPtr,int)无法调用运算符或访问器,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58894046/

    10-13 03:47