Button.Click += new RoutedEventHandler(_click);
private void _click(object sender EventArgs e)
{
//...
}
上記のコードでは、デリゲートである RoutedEventHandler 型を Button.Click イベントでインスタンス化しています。しかし、イベントはそれ自体が抽象化されたデリゲートですよね? これと、 RoutedEventHandler を変数にインスタンス化してから、変数をインスタンスの呼び出しリストに追加することとの違いがわかりません。私はこれを難しくしすぎていますか?ここに関係するすべての代表者はどのように機能しますか?
編集:私の主な関心事は、デリゲートについて知っていることとイベントについて知っていることの間のギャップを埋めようとすることです。イベントは、抽象化の別のレイヤーにラップされたデリゲートであることを知っています。つまり、+= 演算子を使用して別のデリゲートを呼び出しリストに割り当てると、デリゲートを別のデリゲートに割り当てるだけですよね? しかし、上で書いたコードでは、RoutedEventHandler クラスを実際にインスタンス化しているわけではないので、Button.Click イベントの呼び出しリストに実際に渡す方法について混乱しています。また、すべてが実際にはデリゲートとイベントで別のものを指しているように見え、参照が複雑になるため、混乱します。