[英]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.