C# 关于namespace的细节
2014-03-28 18:45
351 查看
<1>namespace的层次结构优先于namespace的别名
如果出现这种别名和已有的namespace重名的情况,要想试用别名可以使用"::"这样就限制了调用的是别名命名空间。
output:
This is in the ConsoleApplication.MyNamespace.Myclass
This is in the ConsoleApplication.MyNamespace2.Myclass
<2>全局命名空间
global和“::”一起使用 globale::表示的顶级根namespace的别名,通过顶级根namespace的调用可以防止外部变量或者外部类被内部变量,内部类隐藏的出现。
例如:
如果出现这种别名和已有的namespace重名的情况,要想试用别名可以使用"::"这样就限制了调用的是别名命名空间。
using MyNamespace = ConsoleApplication19Namespace.MyNamespace2; namespace ConsoleApplication19Namespace { class Program { static void Main(string[] args) { MyNamespace.Myclass My = new MyNamespace.Myclass(); My.print(); MyNamespace::Myclass You = new MyNamespace::Myclass(); You.print(); } } namespace MyNamespace { class Myclass { public void print() { Console.WriteLine("This is in the ConsoleApplication.MyNamespace.Myclass"); } } } namespace MyNamespace2 { class Myclass { public void print() { Console.WriteLine("This is in the ConsoleApplication.MyNamespace2.Myclass"); } } } }
output:
This is in the ConsoleApplication.MyNamespace.Myclass
This is in the ConsoleApplication.MyNamespace2.Myclass
<2>全局命名空间
global和“::”一起使用 globale::表示的顶级根namespace的别名,通过顶级根namespace的调用可以防止外部变量或者外部类被内部变量,内部类隐藏的出现。
例如:
global::System.Console.WriteLine("what a fuck day");//这样就不会出现问题。
相关文章推荐
- 关于C#中的DateTime类型的细节问题
- 关于C#中的DateTime类型的细节问题
- C#中关于WebBrowser的一些细节设置
- 关于c#的namespace
- 关于C#做出的小程序的调试细节 及 visible属性和几个C#中的事件方法
- 做项目时遇到的几个关于C#和SQL的细节问题(二)
- 做项目时遇到的几个关于C#和SQL的细节问题(一)
- 关于C#和.NET编程的小细节,你知道吗
- 关于C#中的DateTime类型的细节问题
- 关于C#中的DateTime类型的细节问题
- 关于C#和.NET编程的小细节,你知道吗
- 关于c#的四舍五入问题
- 关于C# wpf Frame 一次加载多个Page 的问题
- c# 关于继承类中构造函数的实现
- 关于DLL的创建与使用简单描述(C++、C#)
- 关于直播,所有的技术细节都在这里了(三)
- 关于Unity的C#基础学习(一)
- 关于指针的一个小细节---多个指针管理同一块结构时,,,
- 关于Struts2 UI标签<s:form>namespace配置问题
- 关于c#中数据库的调用