Button.Click += new RoutedEventHandler(_click);
private void _click(object sender EventArgs e)
{
//...
}
在上面的代码中,我们使用 Button.Click 事件来实例化 RoutedEventHandler 类型,它是一个委托。但是事件本身就是一个抽象的委托,不是吗?我不明白这与仅将 RoutedEventHandler 实例化为变量,然后将变量添加到实例的调用列表之间的区别。我做这太难了吗?这里涉及的所有代表是如何工作的?
编辑:所以我主要关心的是试图弥合我对代表的了解与我对事件的了解之间的差距。我知道一个事件是一个包裹在另一层抽象中的委托。因此,当您使用 += 运算符将另一个委托分配给其调用列表时,您只是将一个委托分配给另一个委托,对吗?但是在我上面写的代码中,你实际上并没有实例化 RoutedEventHandler 类,所以我很困惑你实际上是如何将它传递到 Button.Click 事件的调用列表中的。我也感到困惑,因为似乎所有内容实际上都指向具有委托和事件的其他内容,并且引用变得复杂。