【问题标题】:Support for VB.NET's Imported Namespaces feature in C#在 C# 中支持 VB.NET 的导入命名空间功能
【发布时间】:2011-02-06 01:16:22
【问题描述】:

我习惯了 VB.NET。我正在学习的游戏源代码是用 C# 编写的。我发现我必须在源代码中添加using System.Diagnostics 才能输入Debug.WriteLine...,这很烦人。我在项目属性下进行了检查,但找不到允许我将命名空间添加到导入的命名空间的“引用”选项卡。在 C# 中哪里可以找到这个?

另外,为什么我不能在 C# 中执行此操作? Imports System.Math

【问题讨论】:

    标签: c# vb.net visual-studio-2008 namespaces


    【解决方案1】:

    将光标放在源码中Debug上,单词右下角出现一个红色的波浪线,按Shift+Alt+F10回车 - 自动添加使用。

    另外,为什么我不能在 C# 中执行此操作? 导入 x = System.Math

    您可以:using x = System.Math;

    【讨论】:

    • 对不起,我的意思是 Imports = System.Math。我会改变我的问题。
    • Shift+Alt+F10 很方便。非常感谢。
    • 更好的快捷键是 CTRL+。这对手指来说更容易
    【解决方案2】:

    我认为你不能像在 VB.NET 中那样在 C# 中拥有“隐藏”的命名空间(不确定)。

    关于 System.Math 的第二部分,您可以在每个文件的顶部执行以下操作。

    using SM = System.Math;
    
    SM.Abs(...);
    

    【讨论】:

    • 我改变了我的问题,我的意思是 Imports System.Math
    • @Fred F. :因为 c# 不支持 Imports 关键字。此外,System.Math 是一个类而不是命名空间。
    • 是的,错误信息就是这么说的,但没有说明原因,错误的帮助信息也没有提供任何信息。
    【解决方案3】:

    可以为新的 C# 类修改 Visual Studio 的模板。这与 Visual Basic 中的功能并不完全相同,但对于任何新创建的类,您都可以获得您喜欢的命名空间。

    不幸的是,这不仅仅是点击几下鼠标,但您会在 Anson Horton 的博客文章中找到所有详细信息:

    Item templates - adding references by default

    请注意,这不仅允许您修改默认的 using 指令,还可以修改在添加新类时自动引用的程序集。

    作为与 Visual Studio 2005 相关的博文,您可能需要调整一些路径,例如class.zip 文件位于 Visual Studio 2008 中的 C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\ItemTemplates\CSharp\Code\1033 下。

    【讨论】:

      【解决方案4】:

      在 c# 中,您应该始终明确指定要使用的命名空间或使用全名:

      System.Diagnostics.Debug.WriteLine ( ... );
      

      另外,解决方案视图下有一个引用选项卡,您必须在那里引用所需的程序集,因为默认情况下不引用许多程序集。

      【讨论】:

      • 真是让人头疼。当您无法使用智能感知来找到您需要的内容时,这很令人沮丧。
      • Darin Dimitrov 在他的回答中指定了如何部分解决问题。不幸的是,这不能用于未引用的程序集。
      • 您的回答看起来好像您不应该使用using 来导入命名空间,这让我有点困惑。
      • 不,我绝不打算这样说,您认为哪一部分令人困惑?
      猜你喜欢
      • 1970-01-01
      • 2016-10-29
      • 2010-10-21
      • 1970-01-01
      • 2021-12-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多