我只需要引发一个自定义事件并且我想实现它。
这是界面:
public delegate void Back();
interface IGoBack
{
event Back GoBack;
void ExecuteGoBack();
}
这是一个有效的实现:
public partial class LiveView : UserControl, IGoBack
{
public LiveView()
{
InitializeComponent();
}
public event Back GoBack;
public void ExecuteGoBack()
{
GoBack();
}
private void btnGoBack_Click(object sender, EventArgs e)
{
ExecuteGoBack();
}
}
这不起作用(事件出现空指针异常):
public partial class ViolationsControl : UserControl, IGoBack
{
public ViolationsControl()
{
InitializeComponent();
}
public event Back GoBack;
public void ExecuteGoBack()
{
if(GoBack!=null)GoBack();
}
private void btnGoBack_Click(object sender, EventArgs e)
{
ExecuteGoBack();
}
}
你认为我做错了什么?