Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/261.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#是否支持项目范围内的默认名称空间导入,如VB.NET?_C#_Namespaces - Fatal编程技术网

C#是否支持项目范围内的默认名称空间导入,如VB.NET?

C#是否支持项目范围内的默认名称空间导入,如VB.NET?,c#,namespaces,C#,Namespaces,我是一名最近转换成C#的VB开发人员,但到目前为止,有一件事我还没有找到。在VB中,当我设置一个新项目时,我可以指定项目中使用的名称空间,并将它们添加到所有类的默认导入中(因此,所有内容都自动包含它们,就像我将“imports System.Data.OracleClient”添加到每个类一样)。使用C#我发现我总是为每个新类输入这些。有没有一种方法可以设置项目的默认值,这样它至少可以自动将这些默认值附加到每个类文件中?没有,C#中没有我的名称空间。我认为您可以通过项目模板或代码片段完成同样的任

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

没有,C#中没有我的名称空间。我认为您可以通过项目模板或代码片段完成同样的任务。

不,没有办法。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#

现在,每当您执行“添加新项目”操作时,都会显示此文件。

有关答案,请参阅

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


我相信你想开始。

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


我认为ReSharper有助于使这项工作做得更好,但它对我来说是如此的自动,以至于我不再去想它了。(我想不同之处在于,使用ReSharper,我可以在行中的任意点按Alt Enter键,它将提供更正,而不必将光标放在Visual Studio的类型名称中。)

继续这个想法,我最喜欢的ReSharper功能之一是,您可以键入类的前两个字符,按SHIFT+ALT+Space,它将创建一个Intellisense窗口,其中包含项目或引用DLL中的所有匹配类。当您选择一个时,如果需要,它将添加using语句。(这个命令是Resharper.Resharper\u CompleteCodeTypeName,如果你想在你的密钥绑定中找到它)另一个VB获胜的命令,添加使用不是问题,但是看到每个文件中的代码重复,我的干燥的心有点痛。