我想知道如何从另一个类调用方法,而不必创建该类的新实例。我查过这个,我看到的 90% 的示例都要求我为我引用的类制作一个新副本。
像这样的东西:
Fooclass test = new Fooclass();
test.CallMethod();
但是,我想知道是否有一种方法可以在不创建新的类实例的情况下调用该方法。现在我已经统一尝试了以下操作。
public ImageLoader image;
void Start ()
{
image = gameObject.GetComponent<ImageLoader>() as ImageLoader;
}
void OnClick()
{
image.MoveForward();
}
但是,当我运行此命令时,出现以下错误:
NullReferenceException:未将对象引用设置为对象的实例
我知道这可以通过创建图像加载器类的新实例来解决,但我不能这样做,因为它保存了大量我不想重复多次的数据。
是的你可以。第一种方法是使您的类成为静态的。
public static class Fooclass
{
// I don't know the return type of your CallMethod, so I used the void one.
public static void CallMethod()
{
}
}
这样,无论何时您的代码都可以调用CallMethod()
像下面这样:
Fooclass.CallMethod()
另一种方法是在当前类中定义一个静态方法,而该类不需要是静态的,如下所示:
public class Fooclass
{
// I don't know the return type of your CallMethod, so I used the void one.
public static void CallMethod()
{
}
}
现在,由于所有实例Fooclass
将共享相同的方法称为CallMethod
,你可以像下面这样调用它:
Fooclass.CallMethod()
无需再次实例化 Fooclass 类型的对象,尽管事实上 Fooclass 现在不是静态类!
如需更多文档,请查看链接静态类和静态成员.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)