在c#中,如果我从一个未实例化的不同类中调用一个方法,当调用该方法时该类是否实例化了?

本文关键字:一个 实例化 方法 调用 是否 如果 同类 | 更新日期: 2023-09-27 18:19:13

class State
{
    public void FalconPunch()
    {
        Console.Writeline("Punched.")
    }
}
class Testy
{
    public void TryThis()
    {
        State.FalconPunch();
    }
}

当类Testy中的方法TryThis()调用State.FalconPunch()时,是否将类State实例化(即使是片刻)以执行FalconPunch()方法?

我试图决定是否静态状态是必要的,所有AI代理在我的游戏中使用。它是在移动平台上,所以我试着写优化的头脑。

在c#中,如果我从一个未实例化的不同类中调用一个方法,当调用该方法时该类是否实例化了?

你不能在没有实例引用的情况下调用FalconPunch,因为它不是static

必须手动创建一个新的实例。

短:new State().FalconPunch()

完成:var s = new State(); s.FalconPunch();

FalconPunch不是静态方法,因此无法编译。为了调用该方法,您必须专门创建一个实例。