VSにイベントハンドラーを生成させたところ、メソッドの代わりにプロパティが作成されました。わかりません。VS 2012で別のテストを試したところ、期待どおりに機能しました。
まず、これは私が思ったように機能した私のテストです:
private static void EventTest()
{
Geek skeet = new Geek();
skeet.SomeEvent += skeet_SomeEvent;
}
VSにハンドラーを生成させると、これが作成されました。
static void skeet_SomeEvent(object sender, EventArgs e)
{
throw new NotImplementedException();
}
それは理にかなっている。そのメソッドは、イベントが呼び出されたときに呼び出されます。
さて、問題...私はVS 2010で既存のプロジェクトに取り組んでおり、同じことをするとき(VSにハンドラーを生成させる):
private void SubscribeToPlcDataChangeEvents()
{
_plc.PlcLoggerEventHandler += _plcLoggerEventHandler;
}
プロパティを作成します。
public EventHandler<PlcLoggerEventArgs> _plcLoggerEventHandler { get; set; }
なんで?わかりません。メソッドでイベントを処理したい。
編集-これは、イベントハンドラーが宣言される方法です。
public event EventHandler<PlcLoggerEventArgs> PlcLoggerEventHandler;