为了账号安全,请及时绑定邮箱和手机立即绑定

统一:创建新类实例时为NULL

统一:创建新类实例时为NULL

C#
12345678_0001 2019-07-03 10:36:35
统一:创建新类实例时为NULL我陷入了非常愚蠢的境地:我正在创建泛型类的新实例,但它返回“怪异”NULL。    Rule rule2 = new Rule(); // initiate the class     Debug.Log(rule2); //1st debug     rule2.RuleSetup(r: "CaughtEnough", li: 0); //setting up the parameters     Debug.Log(rule2.rule); //2nd debug第一次调试给我    null     UnityEngine.Debug:Log(Object)同时,设置参数工作,第二次调试给我   CaughtEnough    UnityEngine.Debug:Log(Object)它应该在适当的类实例中。它给我带来的一个(到目前为止)问题是,如果我调用这个规则类实例   Invoke(rule, 0f);它给出了NullReferenceException错误。但同时实际的功能   CaughtEnough();工作正常,就像预期的那样。有什么想法,问题的根源是什么,以及如何克服它?UPD还发布了规则类的安装部分,尽管这很简单public class Rule : MonoBehaviour {public string rule;public int leftInt;public Dictionary<string, int> leftDict;public float countdown;public int outcome;public CatchManager catchMan;public Net net;// Use this for initializationvoid Start () {    RuleSetup();   }public void RuleSetup(string r = "NoRule", int li = 0, Dictionary<string, int> ld = null,  float cd = float.PositiveInfinity) {    rule = r;    leftInt = li;    leftDict = ld;    countdown = cd;}.....
查看完整描述

3 回答

?
慕沐林林

TA贡献2016条经验 获得超9个赞

只是跟进一下,我是怎么做的,为什么:

  1. 我不再继承Rule来自MonoBehaviour避免跟踪创建和删除游戏对象,这似乎是痛苦的。

  2. Invoke方法不存在于泛型类中,我将其替换为反射,如所述。这里


查看完整回答
反对 回复 2019-07-03
?
慕妹3146593

TA贡献1820条经验 获得超9个赞

再次感谢,其他的一切实际上都是实心的物品与预制的n‘s’工作人员。不知道为什么我认为我可以只使用一个类,在规则:) 

查看完整回答
反对 回复 2019-07-03
  • 3 回答
  • 0 关注
  • 477 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信