我是新代表和事件,所以我尝试下面的代码 但我得到了NullReference异常
public class Class1
{
public delegate void load();
static void Man( )
{
Console.WriteLine("Man");
}
static void Dog()
{
Console.WriteLine("Dog");
}
load sas = new load(Man);
public event load even;
void Display()
{
even();
}
static void Main()
{
Class1 ss = new Class1();
ss.Display();
}
}
我犯了错误.... 感谢....
答案 0 :(得分:0)
在开始调用事件变量之前,还需要分配事件变量。
尚未分配名为event
的{{1}}变量,因此它仍为even
。您需要将其分配到某个位置 - 例如,在null
方法中:
Main
另一方面,您的static void Main()
{
Class1 ss = new Class1();
ss.even += Man;
ss.Display();
}
变量已分配,但仍未使用。您可以从程序中删除其声明。
Here is a demo of your corrected programs running
生产所需的事件处理代码需要sas
- 在拨打电话之前检查事件:
null