命名空间(Namespace)的含义很简单, 就是字面意思: 一个对象名称的有效空间。解决的核心问题是“名字重复”,包括但不仅限于类名称、函数名称、属性名称、变量名称、接口名称等。
打个比方。
ClassA 是个小学的教材命名空间,里面有个方法:Void OnePlusOne() 即“1+1”。 小学肯定是得出结果 1+1 =2 ;
ClassB是个大学教材,里面同样的函数 Void OnePlusOne() 1+1在高等数据、立体几何里就有很多可能性了,所以他结果不一定是2,很有可能是个3.
但是方法是一样的 都叫 "1+1"。 当别人调用的时候,编译器如何区分呢? 就靠NameSpace了。
如果别人需要调用 OnePlusOne方法, 需要先输入命名空间:
ClassA.OnePlusOne() ; 或者ClassB.OnePlusOne();
这样编译器就知道你要用哪个了,避免了重名的问题。