class State
{
public void FalconPunch()
{
Console.Writeline("Punched.")
}
}
class Testy
{
public void TryThis()
{
State.FalconPunch();
}
}
当Testy类中的方法TryThis()调用State.FalconPunch()时,是否为了执行FalconPunch()方法而实例化了类State(即使是片刻)?
我正在尝试确定是否需要静态状态,以便我的游戏中的所有AI代理都可以使用。它在移动平台上,所以我在考虑优化时写作。
答案 0 :(得分:7)
如果没有对实例的引用,则无法调用FalconPunch
,因为它不是static
。
您必须先手动创建新实例。
短:
new State().FalconPunch()
达成:
var s = new State(); s.FalconPunch();
答案 1 :(得分:4)
FalconPunch不是静态方法,所以这不会编译。您必须专门创建一个实例才能调用该方法。