【问题标题】:C#/.NET How do I find the containing namespace from a class nameC#/.NET 如何从类名中找到包含的命名空间
【发布时间】:2009-11-11 20:23:02
【问题描述】:

我经常发现自己记住了我想使用的类的名称,但不记得包含的命名空间。 除了在网上搜索之外,我想知道是否存在查找此内容的好方法。

【问题讨论】:

    标签: c# .net visual-studio


    【解决方案1】:

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

    【讨论】:

    • 太棒了!我无法告诉你我认为这有多大帮助。谢谢!
    • 我一直用这个。我只是希望它有另一个选项来使用using Path = System.IO.Path; 的形式,而不仅仅是using System.IO; 或将System.IO.Path 放在当前位置。
    • 或者在键盘上更舒服一点:Ctrl-Period
    • @John Skeet - 从来不知道!虽然我的手指似乎无法解除多年来为 F10 键而拉伸!
    • 绝对是我见过的最神奇的提示
    【解决方案2】:

    CTRL + '.'将弹出一个菜单,您可以在其中添加“使用”或完全限定课程。

    【讨论】:

    • 太好了,尤其是自动插入“使用”的能力,太好了!
    【解决方案3】:

    你总是可以像我一样在你的立方体墙上挂一张大海报。

    3.5 NameSpace

    【讨论】:

    • +1 我同意。我订阅了 Tech Net 杂志(不要付费。通常可以免费获得)。它有时会附带这样的酷/有用的技术海报。但是还没有看到其中的命名空间之一。我一直希望用一个漂亮的专业印刷品来代替我的。
    【解决方案4】:

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

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

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

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

    【讨论】:

    • 也不知道那个。如果你只记得部分类名,我认为这个特别有用。
    【解决方案5】:

    使用 Red Gate Software 的 .NET Reflector 中的搜索功能。

    【讨论】:

      【解决方案6】:

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

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

      【讨论】:

      • 好主意,可以将 MSDN 阅读器配置为仅显示类名吗?
      • 我不这么认为——尽管将其过滤为“Visual C#”会有所帮助。
      【解决方案7】:

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

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

      【讨论】:

      • 我刚试过这个,如果类型不在范围内(它是否称为范围?),它就不起作用。我收到一个错误:无法导航到“
      • 是的,抱歉,我问的是其他问题。仅当您已经声明了命名空间时,转到定义才有效。右键单击并使用解决菜单只是另一种执行 alt-shift-F10 技巧的方法。
      【解决方案8】:

      在 Visual Studio 2013 中的两种工作方式:

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

      选择命名空间,它会为你插入。

      【讨论】:

        猜你喜欢
        • 2014-06-24
        • 2010-11-21
        • 1970-01-01
        • 1970-01-01
        • 2013-03-25
        • 2020-02-08
        • 2015-10-05
        • 2021-05-17
        • 2022-07-06
        相关资源
        最近更新 更多