WPF--event,delegate,EventHandler,RoutedEventHandlerの違い


delegateはキーワードで、このキーワードは「タイプ」を宣言することができ、この「タイプ」は関数ポインタタイプ(c++の概念)であり、この「タイプ」で具体的な変数を宣言することができます.
なぜこんなに複雑なのか、通常のタイプ宣言変数とは異なり、関数バンドのパラメータが異なるため、多くの「タイプ」で表す必要があるため、この「タイプ」を宣言してから、この「タイプ」で具体的な関数ポインタ変数を宣言する必要があります.
c++の関数ポインタとc#delegateの例を挙げます.
typedefはdelegateの意味で、PFは前述の「タイプ」です
typedef int (*PF) (int);

//   PF       ,   
PF pFunc = func;
//   
pFunc(11);

int func(int)
{
    return 0;
}

EventHandlerとRoutedEventHandlerは、関数パラメータが異なるため、前述した「タイプ」です.
public delegate void EventHandler(object sender, EventArgs e);
public delegate void RoutedEventHandler(object sender, RoutedEventArgs e);

EventHandlerは、何の情報も持たないイベントを表します.
RoutedEventHandlerは「ルーティングイベント」であり、パラメータRoutedEventArgsは元の送信者などのルーティング情報を持っている.