2011-08-10 35 views
0

可能重复:
Using Statements vs Namespace path? C#命名空间与物理编码?

我只是想知道包括C#类的顶部VS程序代码中的实际定义它的命名空间之间的区别。

所以:

using System.Windows; 

或者

System.Windows.MessageBox.Show(); 

将其命名空间加载整个库或将只使用所需的数据?

对不起,如果它看起来很混乱。

+2

我发誓这是重复的。 – BoltClock

+0

@BoltClock找到它;) –

回答

4

您需要区分名称空间和程序集。他们是完全不同的东西。

using指令只有谈命名空间 - 并参照MessageBox会产生完全相同相同的代码的方法有两种。使用哪个产生最可读的代码 - 通常使用using指令和简称。

1

第一个更容易阅读。你应该喜欢可读性。我不认为有任何一种编译或装载好处,如果有的话我没有在500kloc项目上注意到它。

0

如果某些标识符不明确,请直接在语句中写入完整的名称空间。

using System.Windows.Forms; 
using System.ServiceModel.Channels; 

... 

var msg = new Message(); // ambiguous 
var msg1 = new System.Windows.Forms.Message(); // OK 
var msg2 = new System.ServiceModel.Channels.Message(); // OK