C# Visual basic自动导入名称空间
在C#中,一些默认名称空间(如System.Collections)是在不使用blah键入的情况下列出的。在visual basic中,它们不是为您导入的。有没有办法强制vb自动导入一些默认名称空间,或者vb的工作方式与C#不同?我不知道你在问什么。我可以看到潜在的两个问题:C# Visual basic自动导入名称空间,c#,vb.net,visual-studio,C#,Vb.net,Visual Studio,在C#中,一些默认名称空间(如System.Collections)是在不使用blah键入的情况下列出的。在visual basic中,它们不是为您导入的。有没有办法强制vb自动导入一些默认名称空间,或者vb的工作方式与C#不同?我不知道你在问什么。我可以看到潜在的两个问题: 你能改变VB自动导入吗 您能在C#中获得自动导入行为吗 对于#1,是的,你可以。假设Visual Studio 2005或更高版本,请进入项目属性,并选择“引用”选项卡。自动导入列在视图底部的“导入的名称空间”下 对于#2
对于#2,我不知道。我从未在Visual C中见过这种行为。我认为John Rudy发布的第一个项目就是您要寻找的内容-将它们添加到项目属性中 然而,VB.Net的工作方式也与C#不同,因为它在VB中导入名称空间的意义与在C#中不同。当您在VB中导入名称空间时,它也会以某种方式将子名称空间带到“作用域”中 以
系统
名称空间为例,默认情况下导入该名称空间。因为系统名称空间是导入的,所以您不必像在C中一样首先键入System.
来引用子名称空间,如IO
。因此,在VB中,您可以直接说这样的话:
If IO.File.Exists(MyFile) Then ....
这在C#现在是不可能的。您还必须导入System.IO
,然后只需说File.Exists()
,或者列出系统名称空间:System.IO.File.Exists()
它可能看起来不太重要,但过了一段时间,你真的习惯了这个VB功能,而且它比你想象的更方便。我之所以提出这些,是因为此功能的最终结果是,您通常不希望在VB中导入像在C#中那样多的名称空间。我不相信Visual Studio在默认情况下为C#或VB这样做 然而,Jetbrains Resharper插件将为您自动导入名称空间,就像Eclipse在使用CTRL+SHIFT+O时所做的那样