在C#中列出了一些默认名称空间,例如System.Collections,而没有使用blah键入。在visual basic中,它们不是您的导入。有没有办法强制vb自动导入一些默认名称空间或VB的工作方式与C#不同?
答案 0 :(得分:4)
我认为John Rudy发布的第一个项目是您正在寻找的 - 将它们添加到项目属性中。
然而,VB.Net的工作方式也与C#不同,因为在VB中导入命名空间的方式与在C#中的方式不同。当您在VB中导入命名空间时,它还会以某种方式将子命名空间带入“范围”。
以System
命名空间为例,默认情况下导入该命名空间。由于导入了System命名空间,因此您不必像在C#中那样首先键入System.
来引用像IO
这样的子命名空间。所以,开箱即用你可以在VB中说出这样的话:
If IO.File.Exists(MyFile) Then ....
目前在C#中是不可能的。您还必须导入System.IO
,然后只说File.Exists()
或列出系统命名空间:System.IO.File.Exists()
。
它可能看起来不是很重要,但是你在一段时间之后真的习惯了这个VB功能,它比你想象的更方便。我把所有这些都搞定了,因为这个功能的最终结果是你经常不想在VB中导入与在C#中一样多的名称空间。
答案 1 :(得分:3)
我不确定你在问什么。我可以看到两个问题:
对于#1,是的,你可以。假设Visual Studio 2005或更高版本,请转到项目属性,然后选择“引用”选项卡。自动导入列在视图底部的“导入的命名空间”下。
对于#2,不是我所知道的。我从未在Visual C#中看到过这种行为。
答案 2 :(得分:0)
我不认为Visual Studio默认为C#或VB执行此操作。
但是,Jetbrains Resharper插件会自动导入名称空间,就像Eclipse在使用CTRL + SHIFT + O时一样。