Visual Basic自动导入命名空间

时间:2008-11-04 17:07:45

标签: c# vb.net visual-studio

在C#中列出了一些默认名称空间,例如System.Collections,而没有使用blah键入。在visual basic中,它们不是您的导入。有没有办法强制vb自动导入一些默认名称空间或VB的工作方式与C#不同?

3 个答案:

答案 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. 您可以更改VB自动导入吗?
  2. 你能在C#中获得自动导入行为吗?
  3. 对于#1,是的,你可以。假设Visual Studio 2005或更高版本,请转到项目属性,然后选择“引用”选项卡。自动导入列在视图底部的“导入的命名空间”下。

    对于#2,不是我所知道的。我从未在Visual C#中看到过这种行为。

答案 2 :(得分:0)

我不认为Visual Studio默认为C#或VB执行此操作。

但是,Jetbrains Resharper插件会自动导入名称空间,就像Eclipse在使用CTRL + SHIFT + O时一样。