我经常发现自己记住了我想使用的类的名称,但没有记住包含的名称空间。 除了搜索网页,我想知道是否有一个好的方法来查找这个。C#/ .NET如何从类名中找到包含名称空间
回答
我认为如果您在Visual Studio中按ALT,SHIFT和F10 - intellisense会为您添加一个选项,添加刚键入的类的名称空间。
使用Red Gate Software的.NET Reflector中的搜索功能。
我通常使用脱机MSDN阅读器,左侧面板设置为索引选项卡。
Visual Studio中的另一个选项是键入类型的名称,就好像您声明了一个变量,然后查看它的含义。如果名称变为淡蓝色(默认情况下),那么它就在您已经导入的名称空间之一中 - 只需将鼠标悬停在其上即可找出哪个名称空间。否则,请查看它提供的使用指令添加的名称空间。
好主意,MSDN读者可以配置为只显示类名吗? – 2009-11-11 20:26:45
我不这么认为 - 虽然将其过滤为“Visual C#”会有所帮助。 – 2009-11-11 20:42:04
你可以随时在我的立方体墙上挂一张大海报。
MS应该将该海报的全尺寸版本发送给它的MSDN订阅者... – 2009-11-11 20:50:34
+1我同意。我订阅Tech Net杂志(不要为此付费,通常你可以免费获得)。它有时会与这样的酷/有用的技术海报一起出现。但还没有看到名字空间。我一直希望用一个不错的专业印刷品取代我的。 – 2009-11-12 15:29:59
您可以右键单击并选择VS“转到定义”,这要么加载类definiftion在您的解决方案,否则将显示使用反射类定义的元数据视图。其中任何一个都应该在页面顶部附近定义名称空间。
如果您需要使用decliration添加命名空间,请右键单击无法解析的类并鼠标悬停以解决问题。它将向您显示包含该类的名称空间列表,并选择一个将生成using语句。
我只是试过这个,如果该类型不在范围内(它是否称作范围?),它不起作用。我有一个错误:无法导航到'<班名去这里>' – 2009-11-11 20:40:52
是的,对不起,我你问别的东西。如果您已经声明了名称空间,则转到定义才有效。右键单击并使用解析菜单是执行alt-shift-F10技巧的另一种方法。 – OrionRobillard 2009-11-11 20:48:05
CTRL +'。'将弹出一个菜单,您可以添加“使用”或完全限定课程。
这很棒,特别是能够自动插入“使用”,很好! – 2009-11-11 20:45:26
如果您知道.Net中类的名称,但不知道它所在的名称空间,可能很难找到它,特别是如果您没有对包含它的程序集的引用/使用。
这是对象浏览器(Ctrl + W,J)派上用场的地方。
打开它,键入名称,它会给你所有的匹配,无论是在你的项目/解决方案,还是所有的.Net框架。
编辑:
作为南卡罗马德森的评论指出,这也帮助,如果你只记得一类名称的一部分,如果你还只记得一个方法的名称,但不是一流的。
不知道那个。我认为如果你只记得部分类名,这个特别有用。 – 2009-11-11 20:49:24
两种方法在Visual Studio 2013的工作:
- 单击鼠标右键,选择 “解决”。
- 将鼠标悬停在类和“选项来帮助绑定所选项目”对话框将会出现(相同按Ctrl +“”或按Alt + Shift + F10)
选择的命名空间,它会插入为你。
- 1. Visual Studio C++如何找到给定的类/方法的包含名称空间
- 2. c#命名空间名称找不到
- 3. 如何在命名空间中将C++类包含到Cython中?
- 4. C#找不到类型或名称空间名称
- 5. 类型或命名空间名称 'FormatterContext' 无法找到.NET 4.5
- 6. 名称空间'System'中不存在类型或名称空间名称'Net'
- 7. 类中找不到名称空间
- 8. 包含多个名称空间的XSLT for XML包含多个名称空间
- 9. 找不到类型或名称空间
- 10. 如何在名称空间类中包含模块?
- 11. 我应该在类名中包含名称空间提示吗?
- 12. 类型或命名空间名称“名称”找不到
- 13. 如何在文件中找到包含“空格”的名称?
- 14. 如何找到C#类的名称空间?
- 15. 名称空间找不到
- 16. 类型或命名空间名称找不到 - C#
- 17. CS0246:无法找到类型或名称空间名称'itextsharp'
- 18. 无法找到类型或名称空间名称'register'
- 19. 编译错误找不到类型或名称空间名称
- 20. 无法找到类型或名称空间名称'WelcomeScreen'
- 21. 无法找到类型或名称空间名称'oracle'错误
- 22. 无法找到类型或名称空间名称keyedcollection
- 23. 命名空间名称'UnityEngine'找不到
- 24. 无法找到类型或名称空间名称'ProtoBuf'
- 25. 无法找到类型或名称空间名称'Oracle'
- 26. 无法找到类型或名称空间名称'dynamic'
- 27. 如何使用名称空间包含PHP类
- 28. 包含jQuery的JavaScript名称空间
- 29. 无法找到类型或名称空间名称'System'
- 30. 无法找到类型或名称空间名称'readFullyStream'
太棒了! 我不能告诉你,我认为这是多么有帮助。谢谢! – 2009-11-11 20:30:02
我一直都在使用它。我只是希望它有另一种选择,使用'使用Path = System.IO.Path;'而不是'只使用System.IO;'或将'System.IO.Path'放在当前位置的形式。 – 2009-11-11 20:32:37
或者在键盘上更舒服一点:Ctrl-Period – 2009-11-11 20:41:33