カスタム イベントを発生させる必要があり、それを実装したいと考えています。
インターフェースは次のとおりです。
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();
}
}
これは機能していません (イベントでの NULL ポインタの例外):
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();
}
}
私が何を間違っていると思いますか?