c# - IntPtr.operator +(IntPtr,int)无法调用运算符或访问器

标签 c# forms build compiler-errors

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

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/

    相关文章:

    c# - 将 3 个值绑定(bind)到下拉列表

    c# - 使用一个 CustomValidator 验证多个错误

    c# - LINQ to XML 等效于 XPath

    node.js - 有没有一种通用的方法来使用我的依赖项的 grunt 构建过程?

    合并分支时 Jenkins 构建触发两次

    build - 使用Gradle访问存储库中的最新文件

    c# - 从逗号分隔的列表或整数中解析枚举标志

    angularjs - 手动输入和导入输入的 Angular 形式验证

    javascript - jQuery 显示/隐藏所需的密码字段

    javascript - 多个文本区域的字数限制