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.