确定函数在C#中定义的位置?

确定函数在C#中定义的位置?,c#,methods,C#,Methods,我是C#的完全新手(我以前从未使用过),最近需要查看一些用C#编写的代码。我花了最长的时间试图在一个类中找到一个不存在的方法,而这个方法似乎在使用它的类中的任何地方都没有定义。后来我发现这是一个“扩展方法”,我收集到的是一个通过某种源嫁接到另一个类上的方法 我完全理解这个语言特性背后的原理,实际上我觉得它很不错。然而,作为一个对该语言没有太多经验的人,查找不熟悉的方法会变得更加困难,因为所讨论的方法可以在任何地方定义 我的问题是:如果在C#中有一个不熟悉的方法调用,那么如果它可能是在一个完全独立

我是C#的完全新手(我以前从未使用过),最近需要查看一些用C#编写的代码。我花了最长的时间试图在一个类中找到一个不存在的方法,而这个方法似乎在使用它的类中的任何地方都没有定义。后来我发现这是一个“扩展方法”,我收集到的是一个通过某种源嫁接到另一个类上的方法

我完全理解这个语言特性背后的原理,实际上我觉得它很不错。然而,作为一个对该语言没有太多经验的人,查找不熟悉的方法会变得更加困难,因为所讨论的方法可以在任何地方定义


我的问题是:如果在C#中有一个不熟悉的方法调用,那么如果它可能是在一个完全独立的类中定义的扩展方法,那么我查找更多信息的最佳方式是什么?

我只需右键单击该函数并选择“转到定义”。

您想要什么样的信息?如果它是框架中定义的常规扩展,则可以在其上搜索信息。除此之外,我还推荐Uwe Keim编写的解决方案,右键单击并选择“转到定义”。

在标准C#环境键集上:

F12
:转到定义


Cntrl+-(减号)
:回到鼠标的最后一个位置(基本上回到你以前的位置)

@Joey Na!我也这么想,但最近我站在同事的电脑前,告诉他按F12键,他照做了,但什么也没发生。我想他不小心选择了不同的默认键盘布局。因此,
F12
在大多数情况下都有帮助,但有时没有…:-)@Uwe Keim,我从来没有见过键盘布局有不同的功能键。也许他把它设置在伊渥克语言上了?这是可行的,但我目前在Linux上使用emacs.:-。谢谢你@戴卡姆:我周一会问他。IIRC在VS.NET初始安装后的第一次启动时,您可以选择您喜欢的环境,例如“C#Developer”、“Web Development”等。这几乎可以配置键盘和屏幕布局。哦,键盘布局。我以为你的意思是在
qwerty
dvorak
,等等。