在asp.net生成的代码中没有“使用”引用

时间:2011-09-08 15:07:10

标签: asp.net code-generation

当我查看生成的aspx页面代码时,有一件事让我感到震惊。每次打印每个类引用,而不是在代码文件的顶部应用“使用”方法 有没有理由这样做?
如果两种方法没有区别那么为什么不使用“使用”来简化呢?

System.Data.DataSet theSet = new DataSet();

vs

using System.Data;  
DataSet theSet = new DataSet();

3 个答案:

答案 0 :(得分:6)

因为对于生成的代码,读取的简单性不是优先事项。

的简单性是一个问题,但是:如果始终使用其完全限定名称指定类型,则名称冲突的可能性会降低。想象一下,您有两个提供TextBox控件的库,并将它们添加到Web表单中。

// no problem
System.Web.UI.WebControls.TextBox myDefaultTextBox = new System.Web.UI.WebControls.TextBox();
CustomLibrary.TextBox theOtherTextBox = new CustomLibrary.TextBox();

相比
using System.Web.UI.WebControls;  
using CustomLibrary;  

// won't compile, would need special treatment by the code generator
TextBox myDefaultTextBox = new TextBox();
TextBox theOtherTextBox = new TextBox();

答案 1 :(得分:1)

可能有助于避免类型模糊。

更新:Heinzi更加优雅地描述。

答案 2 :(得分:0)

没有理由完全限定类型名称,除非为了清晰起见,您遵循某种编码标准。