0
EventHandlerを使用してイベントを定義するだけの機能に違いはありますか?通常のイベントだけでは、いつ/なぜイベントハンドラを使用しますか?
EventHandlerを使用してイベントを定義するだけの機能に違いはありますか?通常のイベントだけでは、いつ/なぜイベントハンドラを使用しますか?
これらの2つの異なるもの
event
あるがイベントを宣言します。
https://msdn.microsoft.com/en-us/library/8627sbea.aspx
EventHandler
は、イベントが発生しますメソッドを定義します。
https://msdn.microsoft.com/en-us/library/system.eventhandler(v=vs.110).aspx
EventHandler<TEventArgs>
カスタムEventArgs
ための便利なラッパーです:
https://msdn.microsoft.com/en-us/library/db0etb8x(v=vs.110).aspx
イベント
using System;
namespace ConsoleApplication3
{
internal class Program
{
private static void Main(string[] args)
{
// using a method
MyEvent += Program_MyEvent;
// using EventHandler, possible but not mandatory
MyEvent += new EventHandler(Target);
// using lambda syntax
MyEvent += (sender, eventArgs) => { };
// using delegate
MyEvent += delegate (object sender, EventArgs eventArgs) { };
// using delegate, signature is optional actually
MyEvent += delegate { };
}
private static void Target(object sender, EventArgs eventArgs)
{
}
private static void Program_MyEvent(object sender, EventArgs e)
{
}
public static event EventHandler MyEvent;
}
}
に加入するさまざまな方法だから、+ =のEventHandlerと+ =メソッドをやっ間のdiffrenceはありますか? – Spaghetti
いいえ、必要はありませんが、私の更新された回答をご覧ください。 – Aybe
@ Spaghetti - いいえ、この答えの5つの '+ = 'スタイルはまったく同じことを行います。イベントにデリゲートインスタンスを添付します。 – Enigmativity