我经常发现自己记住了我想使用的类的名称,但没有记住包含的名称空间。 除了搜索网页,我想知道是否有一个好的方法来查找这个。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++类包含到Cython中?
- 3. C#找不到类型或名称空间名称
- 4. 类中找不到名称空间
- 5. 包含多个名称空间的XSLT for XML包含多个名称空间
- 6. 如何在名称空间类中包含模块?
- 7. 如何找到C#类的名称空间?
- 8. 名称空间找不到
- 9. 类型或命名空间名称找不到 - C#
- 10. 无法找到类型或名称空间名称'register'
- 11. 无法找到类型或名称空间名称'ProtoBuf'
- 12. 无法找到类型或名称空间名称'Oracle'
- 13. 如何使用名称空间包含PHP类
- 14. 如何在一个包含同名的两个名称空间?
- 15. 在哪里查找包含类或名称空间的.NET程序集的名称?
- 16. MonoTouch 4:无法找到类型或名称空间名称'Outlet'
- 17. 无法找到类型或名称空间名称'BasePage'
- 18. Xamarin - 无法找到类型或名称空间名称
- 19. 无法找到类型或名称空间名称'get'
- 20. 无法找到类型或名称空间名称'IConvertible'
- 21. 无法找到类型或名称空间名称'webmethod'
- 22. 无法找到类型或名称空间名称
- 23. 找不到类型或名称空间名称
- 24. 无法找到类型或名称空间名称(参考本)
- 25. 无法找到类型或名称空间名称'xxx'
- 26. 无法找到类型或名称空间名称'Key'
- 27. 无法找到类型或名称空间名称'DevExpress' - 错误
- 28. 无法找到类型或名称空间名称'Startup'
- 29. 命名空间名称“MvcSiteMapProvider”找不到
- 30. 将包含的类附加到名称空间?
太棒了! 我不能告诉你,我认为这是多么有帮助。谢谢! – 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