当执行Action委托时出现NullReferenceException异常时,通常是因为该委托没有被实例化或赋值为null。解决方法是在执行Action委托之前,需要先检查它是否为null,如下所示:
Action myAction = null; //委托未实例化 if (myAction != null) { myAction.Invoke(); } else { //处理委托未实例化的情况 }
或者,可以在声明委托时给它一个默认值,如下所示:
Action myAction = () => {}; //给委托一个空方法作为默认值 myAction.Invoke(); //执行委托