[英]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.