C#支持项目范围的默认命名空间是否像VB.NET一样导入?

时间:2009-04-25 16:14:53

标签: c# namespaces

我是最近转换为VB开发人员的C#,但到目前为止还有一件事我无法找到。在VB中,当我设置一个新项目时,我可以指定项目中使用的命名空间,并将它们添加到所有类的默认导入中(因此所有内容都自动拥有它们,就好像我为每个类添加了“Imports System.Data.OracleClient”)。使用C#我发现我总是为每个新类输入这些内容。有没有办法为项目设置默认值,所以它至少会自动将它们附加到每个类文件中?

4 个答案:

答案 0 :(得分:14)

没有办法。 C#不支持项目级别导入或项目级别命名空间的概念。

您唯一能做的就是更改您正在使用的项目模板(Class.cs或Code.cs)以获得您想要的命名空间。这些文件位于以下目录

  

%ProgramFiles%\ Microsoft Visual Studio 9.0 \ Common7 \ IDE \ itemtemplatescache \ CSharp \ Code \ 1033

在这里,你应该看到一个Class.zip和Code.zip目录,每个目录下都有一个.cs文件。这是在Visual Studio中执行“添加新项”操作时使用的模板文件。您可以更改这些以满足您的需求,并拥有您想要的默认命名空间。

稍微简单的解决方案是为您喜欢的特定项目添加每用户代码文件。只需创建一个您希望成为应用程序模板的代码文件,然后将其放在以下目录中。

  

C:\ Users \ YourUserName \ Documents \ Visual Studio 2008 \ Templates \ ItemTemplates \ Visual C#

只要您执行“添加新项目”操作,此文件就会显示。

答案 1 :(得分:7)

其他人建议使用模板等。我个人认为这不是问题 - 我在Visual Studio中输入要使用的类的名称,即使没有找到“智能标记”(或者它的任何内容)叫)图标弹出。我按下Ctrl-。它为我添加了一个using指令。

我觉得ReSharper有助于让这项工作变得更好,但现在对我来说这是自动的,我现在不再考虑它了。 (我怀疑不同的是,使用ReSharper我可以在行中的任何一点点击Alt-Enter并且它将提供校正,而不是必须将光标放在Visual Studio的类型名称中。)

答案 2 :(得分:1)

不,C#中没有我的命名空间。我认为你可以用项目模板或代码片段来完成同样的事情。

答案 3 :(得分:1)

请参阅this post了解答案..

简而言之,就是将您想要的用法添加到模板中。

我相信你想开始here