Button.Click += new RoutedEventHandler(_click);
private void _click(object sender EventArgs e)
{
//...
}
In the code above, we’re instantiating the RoutedEventHandler type, which is a delegate, with the Button.Click event. But the event is an abstracted delegate by itself, isn’t it? I don’t understand the difference between this and just instantiating the RoutedEventHandler to a variable, and then adding variables to the instance’s invocation list. Am I making this too hard? How do all of the delegates involved here work?
Edit: so my main concern is just trying to bridge the gap between what I know about delegates and what I know about events. I know an event is a delegate wrapped in another layer of abstraction. So when you assign another delegate to its invocation list using the += operator, you’re just assigning a delegate to another delegate, correct? But in the code I wrote above, you’re not actually instantiating the RoutedEventHandler class, so I’m confused about how you’re actually passing it into the invocation list of the Button.Click event. I also get confused because it seems like everything is actually pointing to something else with delegates and events, and the references get complicated.
Probably this answer will help you.He has explained it in good detail:-
Events