繁体   English   中英

C#-从类内部调用方法

[英]C# - Calling methods from inside class

您如何从客户端代码中定义的类内部调用客户端代码方法?

例如,我有一个内存读取类,可以从某个地址的进程的内存中读取值。 我还具有用于管理从内存读取的数据类型的类(我正在阅读有关游戏中“对象”的信息。在“客户端代码”中,我正在计算内存中该对象的“基地址”,然后进行初始化)我的“对象类”使用了一个以“基地址”为参数的构造函数,然后该基类应该能够通过方法告诉我有关该对象的信息,因为这些对象知道某个值离基地址有多远,例如“健康”)

我尝试使用这样的代码,但它给了我一个错误。 “ ObjectManager”是可以从内存中读取值的类。

class ObjectManager : Memory
{
    LocalCharacter LocalPlayer = new LocalCharacter(this);
    // other things omitted
}
// Error: Keyword 'this' is not available in the current context

出于绝望:

class ObjectManager : Memory
{
    LocalCharacter LocalPlayer = new LocalCharacter(ObjectManager);
    // other things omitted
}
// Error: Keyword 'this' is not available in the current context

但无济于事。 做这个的最好方式是什么?

如何在构造函数中引用“ this”:

class ObjectManager : Memory
{
    ObjectManager()
    {
        LocalPlayer = new LocalCharacter(this);
    }

    LocalCharacter LocalPlayer;
    // other things omitted
}

因为你没有办法

您必须声明一个方法来访问它。 您的主要功能将调用该调用。

如果希望设置一个类级别的字段,则需要在构造函数中进行设置。 您仍然可以在类定义中声明变量(而不是在方法中)

class ObjectManager : Memory
{
   public void mymethod()
   {
      LocalCharacter LocalPlayer = new LocalCharacter(this);
   }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM