首页 新闻 会员 周边

(超基础)关于using的位置~~

0
悬赏园豆:5 [已解决问题] 解决于 2009-07-10 00:53

之前开发一直是把using写在namespace的外面,如:

using system.text;

using xxx;

namespace xxx

{

}

最近看到很多ms自己的sample里的代码,都是把using写在namespace里,如:

 

 

namespace

 

 

Microsoft.ServiceBus.Samples

{

 

 

using System;

 

 

using System.ServiceModel;

。。。。。。

}

这两种写法有什么实质区别么?后面一种写法是否有特别的好处,哪怕只是格式上的。

靁电的主页 靁电 | 初学一级 | 园豆:160
提问于:2009-05-27 13:36
< >
分享
最佳答案
0

Using写在Namespace中这是由于MS开发团队使用了他们自己的代码管理软件工具造成的,其中一项就是强制引用命名控制在Namespace内

西越泽 | 专家六级 |园豆:10775 | 2009-06-01 00:31
其他回答(4)
0

首先一点,如果你是引用的外部命名空间,可以写到类的前面,这样合法,也就是在使用之前引用,这符合C语法先定义后使用的原则。如果你在类内引用则会告诉你标记无效。如果是在类后面,会提示using子句必须位于所有其它命名空间元素之前(外部别名声明除外)。如果你在使用命名空间之后才引用肯定是用不了的。要说好处,我说没有,最好是把这些都写到前面

Aeridy | 园豆:100 (初学一级) | 2009-05-27 14:00
0

这个应该与程序域有关,写在类里面,其他的类就无法引用.

yy小憨熊 | 园豆:260 (菜鸟二级) | 2009-05-27 14:14
0

是的,你引用namespace的位置,决定了其namespace里类的可见性和有效性。作用域的差别。最外面显然本程序集里都可以使用。内部的话,使用的范围取决于你放的位置。只严格的限制就是直接在类引用前设置namespace,比如system.data.dataset.

Frank Xu Lei | 园豆:1860 (小虾三级) | 2009-05-27 15:02
0

一般写在外面,一般情况。

风海迷沙 | 园豆:4453 (老鸟四级) | 2009-05-28 13:14
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册