C#/.NET如何从类名中找到包含的命名空间

C#/.NET如何从类名中找到包含的命名空间,c#,.net,visual-studio,C#,.net,Visual Studio,我经常发现自己记得要使用的类的名称,但不记得包含的名称空间。 除了搜索网页,我想知道是否有一个好的方法来查找这个 使用红门软件在.NET Reflector中的搜索功能。我通常使用离线MSDN阅读器,左侧面板设置为“索引”选项卡 VisualStudio中的另一个选项是键入类型名称,就像声明变量一样,然后查看它的建议。如果名称变为浅蓝色(默认情况下),则它位于您已经导入的名称空间之一-只需将鼠标悬停在其上以确定是哪个名称空间。否则,请使用指令查看它提供了哪些名称空间来添加。我认为,如果您在Vis

我经常发现自己记得要使用的类的名称,但不记得包含的名称空间。
除了搜索网页,我想知道是否有一个好的方法来查找这个

使用红门软件在.NET Reflector中的搜索功能。

我通常使用离线MSDN阅读器,左侧面板设置为“索引”选项卡


VisualStudio中的另一个选项是键入类型名称,就像声明变量一样,然后查看它的建议。如果名称变为浅蓝色(默认情况下),则它位于您已经导入的名称空间之一-只需将鼠标悬停在其上以确定是哪个名称空间。否则,请使用指令查看它提供了哪些名称空间来添加。

我认为,如果您在Visual Studio中按ALT、SHIFT和F10,intellisense将下拉一个选项,供您添加刚刚键入的类的名称空间。

您可以像我一样在立方体墙上挂一张大海报


您可以右键单击并在VS中选择“转到定义”,这将在您的解决方案中加载类定义,或者使用反射显示类定义的元数据视图。其中任何一个都应该在页面顶部附近定义名称空间


如果需要添加带有using decliration的名称空间,请右键单击未解析的类并将鼠标悬停在其上进行解析。它将向您显示包含该类的名称空间列表,选择其中一个将生成using语句。

CTRL+'。将弹出一个菜单,您可以在其中添加一个“using”或完全限定该类。

如果您知道.Net中某个类的名称,但不知道它在哪个名称空间中,则很难找到它,尤其是如果您没有对包含它的程序集的引用/使用

这就是对象浏览器(Ctrl+W,J)方便使用的地方。

打开它,键入名称,它将为您提供所有匹配项,无论是在您的项目/解决方案中,还是在.Net framework中

编辑:

正如S.C.Madsen的评论所指出的,如果您只记住类名的一部分,如果您只记住方法名而不记住类,这也会有所帮助。

在Visual Studio 2013中有两种方法:

  • 右键单击并选择“解决”
  • 将鼠标悬停在类上,将出现“帮助绑定所选项目的选项”框(与Ctrl+'或Alt+Shift+F10相同)

选择名称空间,它会为您插入名称空间。

好主意,MSDN阅读器可以配置为只显示类名吗?我不这么认为-尽管将其过滤为“Visual C#”会有帮助。太棒了!我不能告诉你我认为这有多有用。谢谢我一直用这个。我只希望它有另一个选项,使用Path=System.IO.Path的形式
using
而不是仅使用System.IO
或将
System.IO.Path
放在当前位置。或者在键盘上更舒服一点:Ctrl-Period@John双向飞碟-从来都不知道!虽然我的手指似乎无法解开多年来为F10键所做的拉伸!绝对是我见过的最惊人的技巧我刚刚尝试过这个,如果类型不在范围内(是否称为范围?),它就不起作用。我出错了:无法导航到“是的,对不起,我知道你在问其他问题。仅当您已经声明了名称空间时,“转到定义”才起作用。右键单击并使用resolve菜单只是执行alt-shift-F10技巧的另一种方式。这很好,尤其是自动插入“using”的功能,很好!我也不知道那个。我认为如果你只记得部分类名,这个特别有用。我订阅《科技网》杂志(不用付费,你通常可以免费获得)。有时会有这样的酷/有用的技术海报。但是还没有看到其中的名称空间。我一直希望用一个漂亮的专业印刷品来代替我的。