簡體   English   中英

如何找到用於事件的方法

[英]How can I find the method that is for an event

在C#源代碼中,是這樣的:

public event UnloadHandler Unload;
public delegate void UnloadHandler();

然后在程序中調用Unload(),當我按F12鍵查看實現時,它再次跳轉到該事件聲明。 那么,如何找到此Unload()方法的真實主體?

Unload不是一種方法,它是一個事件 -它不會一個“真身”。

引發事件時,將附加執行與其關聯的所有處理程序。 您可以通過Delegate.GetInvocationList從類內的代碼中獲取附加處理程序的列表,但不能神奇地跳到實現代碼。

可以做的是通過搜索源找到使用語法Unload += /* something */附加事件處理程序的位置; 這將告訴您確切的事件發生時計划運行的時間。

右鍵單擊並選擇“查找用法”。 應該在某個地方為Unload事件分配一個方法(可能不止一個)。 它看起來像

this.Unload += new UnloadHandler(form_Unload);

要么

this.Unload += form_Unload;

然后,您可以在添加的處理程序上按f12鍵。

最簡單的方法是在UnloadHandler聲明上單擊F12。 如果您擁有Visual Studio,也可以嘗試使用Unload + =(TAB)之類的方法,然后Visual Studio為您自動生成方法存根。

干杯,伊萬

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM