C#2005 .NET3.0高级编程学习笔记————命名空间
来源:互联网 发布:淘宝虚拟产品怎么发货 编辑:程序博客网 时间:2024/06/06 19:43
命名空间提供了一种组织相关类和其他类型的方式。它是一种逻辑组合,而不是物理组合。在C#文件中定义类时,可以把它包括在命名空间定义中。以后,在定义另一个类,在另一个文件中执行相关操作时,就可以在同一个命名空间中包含它。
把一个类型放在命名空间中,可以有效地给这个类型指定一个较长的名称,该名称包括类型的命名空间,后面是句点(.)和类的名称。
...{
using System;
public struct Test
...{
...........
}
}
也可以在命名空间中嵌套其他命名空间,为类型创造层次结构。
...{
namespace Note
...{
namespace One
...{
class Test
...{
.........
}
}
}
}
每个命名空间名都由它所在的命名空间的名称组成,这些名称用句点分隔开。可以组织自己的命名空间定义中的命名空间,上面的代码也可以写为:
...{
class Test
...{
............
}
}
注意不允许在另一个嵌套的命名空间中声明多部分的命名空间。它与程序集无关。同一个程序集中可以有不同的命名空间,也可以在不同的程序集中定义同一个命名空间的类型。
using语句
显然命名空间相当长,键入起来很烦琐,用这种方式指定某个类也是没必要的,因为C#允许简写类的全名。在文件的顶部列出类的命名空间,前面加上using关键字,在文件的其他地方,就可以使用其类型名称来引用命名空间中的类型了:
using Ling.Note.One;
所有的C#源代码都以语句using System;开头,因为Microsoft提供的许多有用的类型都包含在System命名空间中。
如果using指令引用的两个命名空间包含同名的类,就必须使用完整的名称(或者至少较长的名称),确保编译器知道访问哪个类型。
要注意,using语句在这些文件之间并没有建立物理链接。
命名空间的别名
using关键字的另一个用途是给类和命名空间指定别名。如果命名空间的名称非常长,又要在代码中使用多次,但不希望该命名空间的名称包含在using指令中,就可以给该命名空间指定一个别名:
下面的例子给ling.note.one命名空间指定ling别名,并使用这个别名实例化了一个test对象,这个对象是在该命名空间中定义的。注意命名空间别名的修饰符是::。
using Chen=Ling.Note.One;
class Pro
...{
public static int Main()
...{
Chen::Test NamespaceTest= new Chen::Test();
Console.WriteLine(NamespaceTest.GetNamespace());
return 0;
}
}
namespace Ling.Note.One
...{
class Test
...{
................
public string GetNamespace()
...{
return this.GetType().Namespace;
}
}
}
- C#2005 .NET3.0高级编程学习笔记————命名空间
- C#2005 .NET3.0高级编程学习笔记———C#基础
- C#2005 .NET3.0高级编程学习笔记————编程规则
- C#2005 .NET3.0高级编程学习笔记————流控制
- C#2005 .NET3.0高级编程学习笔记————枚举
- C#2005 .NET3.0高级编程学习笔记————继承
- C#2005 .NET3.0高级编程学习笔记————接口
- C#2005 .NET3.0高级编程学习笔记———.NET体系结构
- C#2005 .NET3.0高级编程学习笔记————结构,部分类,静态类,Object类
- C#2005 .NET3.0高级编程学习笔记————类和结构,类的数据成员,类的函数成员(方法、属性)
- C#2005 .NET3.0高级编程学习笔记————类的函数成员(构造函数,只读字段)
- C#2005 .NET3.0高级编程学习笔记————类和结构,类的数据成员,类的函数成员(方法、属性)
- ThinkPHP学习笔记—命名空间
- ASP.NET命名空间参考手册—C#编程篇
- C#高级编程第七天----命名空间
- C#学习笔记16——.net中System.Security.Cryptography 命名空间
- thinkphp学习笔记——命名空间多级命名空间及三种访问方式
- Struts2学习笔记(一)——命名空间、路径、通配符
- Spring与Struts的集成方案 -- 代理和委托Action
- oracle管理总结
- 常用+实用的SQL语句集锦
- 对象池化
- C#2.0中的程序事务实现
- C#2005 .NET3.0高级编程学习笔记————命名空间
- 解决virtual pc下安装RedHat9.0的花屏问题
- JBoss,Geronimo还是Tomcat?——三种开源Java应用服务器的比较
- C#创建文本文件代码
- 年度最美味短信
- MIME
- ASP.NET程序中常用的三十三种代码
- C# 学习自定义控件,从一个简单实用的日期控件开始。
- test 造型