Button.Click += new RoutedEventHandler(_click);
private void _click(object sender EventArgs e)
{
//...
}
在上面的代碼中,我們使用Button.Click事件實例化了一個代表的RoutedEventHandler類型。但事件本身就是一個抽象代表,不是嗎?我不明白這個之間的區別,只是將RoutedEventHandler實例化爲一個變量,然後將變量添加到實例的調用列表中。我是否太過分了?這裏涉及的所有代表如何工作?活動和代表
編輯:所以我主要關心的是試圖彌合我所瞭解的代表和我所瞭解的事件之間的差距。我知道一個事件是一個包裹在另一層抽象中的委託。因此,當您使用+ =運算符將另一個委託分配給其調用列表時,您只是將一個委託分配給另一個委託,對嗎?但是在我上面寫的代碼中,實際上並沒有實例化RoutedEventHandler類,所以我很困惑你是如何將它傳遞給Button.Click事件的調用列表的。我也感到困惑,因爲它看起來好像所有東西都指向其他代表事件和事件,並且引用變得複雜。
您是不是要找這樣的: - RoutedEventHandler R =新RoutedEventHandler(_Click); Button.Click + = R ;? –
是的;但我認爲我沒有清楚地表明我的問題。我知道如何編寫一個事件處理程序,我只是試圖在更深層次上理解事件和代表。我對代表的瞭解與我對事件的瞭解之間存在差距。我會編輯我的問題,嘗試更好地表達它。 –