VFan Yan
在名字空间中 using system这样的是引用了名字空间, namespace Myname 这样是做什么用的? ---------------------------------------------------------------
开心就好
比如你叫VFan Yan 那么 namespace VFanYan是定义了你的名字 然后我想用你帮点忙,就可以 using VFanYan了 在java里面,namespace叫package
--------------------------------------------------------------- VFan Yan 我看见在多个程序里namespace了同一个名称, 例如A.cs using system namespace Myname . . .
B.cs using system namespace Myname . . .
这种情况又是怎么回事?
--------------------------------------------------------------- 开心就好 多个文件里面可以,多个文件组合体里面也可以的 namespace相当于指定了一个寻址方式。 告诉大家你可以在哪儿找到我。 但namespace不相当于物理形式存在,它们可以在不同的文件(这里面指的是输出文件,如.dll或者.exe),同时,在同一个Assembly里面也可以有多个namespace。 与Java不同,Java里面的package对应的是目录,所以,你如果用到java.io.****的话,你得建一个三层目录,特麻烦:( VFan Yan 这个就不明白了 即然其它程序要使用这个namespace,那为什么不用using而又namespace一遍?难道说namespace Myname=using Myname?
开心就好 不正确 namespace==你给自己取个名字 using==我叫你的名字 ---------------------------------------------------------------
VFan Yan Look! A.cs using system namespace Myname . . . B.cs using system namespace Myname . . . C.cs using system using Myname
这时的Myname是指A.cs里的还是B.cs里的?
--------------------------------------------------------------- 开心就好 应该这么说 namespace==报上所属小组 using==使用这个小组中的所有人员 所以A声明了我是Myname小组的人,而B声明也是Myname小组的人,则C声明使用Myname小组的人,则它即可以使用B,也可以A。 namespace不是类,也不是对象,它只是类与及其它类型声明的一个包容体,为了让这些类排列的更有顺序,更加利于别人寻找。尽最大程度排除重名。 你是Dev-club的VFan Yan,但不排除新浪上也有一个VFan Yan不是你。 所以你的全称是Dev-Club.VFanYan namespace Dev-Club { public class VFaneYan{ } public class 开心就好{ } public class飞鸟{ } } 注:以上举例并不是非常准确,因为这里面的类其实在现实中都是对象:)
--------------------------------------------------------------- VFan Yan 我这样理解对不对?
A.cs using system namespace Myname
{ public class VFanYan{ } }
B.cs using system namespace Myname { public class 开心就好{ } public class飞鸟{ } }
C.cs using system; using Myname; VFanYan New_VFanYan=new VFanYan() 开心就好 New_开心就好=new 开心就好() 飞鸟 New_飞鸟= new 飞鸟()
---------------------------------------------------------------
开心就好 对 不过C有毛病呀,你那个语句必须含在一个方法(或者属性)中,而那些方法得含在类中,而类必须含在一个namespace里面 --------------------------------------------------------------- VFan Yan 这里的namespace 又是什么意思?
A.cs using system namespace Myname
{ public class VFanYan{ } }
B.cs using system namespace Myname { public class New_VFanYan:VFanYan
}
B.cs里怎么知道VFanYan是什么呀?
---------------------------------------------------------------
开心就好 两种方法 1.在同一个Project里面 2.在两个Project里面,但B所在的Project已经Add Refrenerce了A所在的Project或者其输出的Assembly
你仔细看看源代码 一个类中可能using了很多其它的namespace,但是一个类肯定就只能包括在一个namespace中。 --------------------------------------------------------------- VFanYan 明白了,它是在同一个project里,它最后是这样的csc/target:library /out:Myname.dll A.cs B.cs ,是这个吗 --------------------------------------------------------------- 开心就好 聪明,奖你一个三星★★★
|