调试时,鼠标移动到指定变量时,可以查看该变量的值。比如你这个移动到Rapid可以查看它是否为null,如果为null,就检查它为null的原因,如果不为null,则是后面3个Get...的方法其中一个为null。因此,建议方法分开写以便调试,不要养成连写调用方法的习惯,除非你能保证方法的返回值一定不是null,否则很容易报你这个错误,无法排查哪个为null值。 可修改代码为:var rapid = objController.Rapid; var trobi = rapid.GetTask("T_ROBI"); var rob = trobi.GetModule("RobMoudle"); var data = rob.GetRapidData("main");然后可以逐行排查rapid/trobi/rob/data哪个是null,而确定问题发生的原因。
可修改代码为:var rapid = objController.Rapid;
var trobi = rapid.GetTask("T_ROBI");
var rob = trobi.GetModule("RobMoudle");
var data = rob.GetRapidData("main");然后可以逐行排查rapid/trobi/rob/data哪个是null,而确定问题发生的原因。
或者 对象?.属性 ?表示可控判断。