在C#源代码中有类似的内容:
public event UnloadHandler Unload;
public delegate void UnloadHandler();
然后在程序中调用Unload(),当我按F12查看实现它再次跳转到该事件声明。那么我怎样才能找到这个Unload()方法的真实主体呢?
答案 0 :(得分:4)
Unload
不是一种方法,它是event - 它 <真实的身体“。
当事件被引发时,附加到它的任何处理程序将依次执行。您可以通过Delegate.GetInvocationList
从类中的代码中获取附加处理程序的列表,但是您无法神奇地跳转到实现代码。
您可以做的是通过搜索来源找到使用语法Unload += /* something */
附加事件处理程序的位置;这将告诉您在引发事件时计划运行的确切内容。
答案 1 :(得分:1)
右键单击并选择“查找用法”。某个地方应该为Unload事件分配一个方法(可能有多个)。它看起来像
this.Unload += new UnloadHandler(form_Unload);
或
this.Unload += form_Unload;
然后你可以在添加的处理程序上点击f12。
答案 2 :(得分:1)
最简单的方法是在UnloadHandler声明上点击F12。也可能很好,如果你有Visual Studio,只需尝试卸载+ =(TAB) - 并且visual studio会自动生成方法存根。
干杯, 伊万