C#名称空间
来源:互联网 发布:linq for sql 编辑:程序博客网 时间:2024/06/15 06:37
C#代码默认在全局名称空间中,对于包含在限定名称空间代码块中的项,全局名称空间中的其他代码可以按照名称进行引用访问它们.
使用namespace显式定义名称空间的说明:
1.在名称空间花括号的外部使用该名称空间中的名称,必须写出该名称空间中的限定名称.
2.限定名称包括它所有的分层信息,在不同的命名空间级别之间使用句点字符(.).名称是由名称空间唯一定义的,可独立使用它们,互不干扰.
3.根据约定,名称空间采用PascalCase命名方式.
4.namespace还可以定义嵌套的名称空间,通过其层次结构来引用,并使用句点区分层次结构.
5.可使用using语句简化对所包含名称空间的引用.
6.不同名称空间中的相同名称会产生冲突,可使用using语句为名称空间定义一个别名.
注意:using语句本身不能访问另一个名称空间中的名称.
使用需满足以下条件,否则不能访问其中包含的名称:
1.名称空间中的代码以某种方式链接到项目上.
2.代码是在该项目的源文件中定义的.
3.在链接到该项目的其他代码中定义的.
LT.A.name1 显示:张三
A.name1 显示:王五
使用namespace显式定义名称空间的说明:
1.在名称空间花括号的外部使用该名称空间中的名称,必须写出该名称空间中的限定名称.
2.限定名称包括它所有的分层信息,在不同的命名空间级别之间使用句点字符(.).名称是由名称空间唯一定义的,可独立使用它们,互不干扰.
3.根据约定,名称空间采用PascalCase命名方式.
4.namespace还可以定义嵌套的名称空间,通过其层次结构来引用,并使用句点区分层次结构.
5.可使用using语句简化对所包含名称空间的引用.
6.不同名称空间中的相同名称会产生冲突,可使用using语句为名称空间定义一个别名.
注意:using语句本身不能访问另一个名称空间中的名称.
使用需满足以下条件,否则不能访问其中包含的名称:
1.名称空间中的代码以某种方式链接到项目上.
2.代码是在该项目的源文件中定义的.
3.在链接到该项目的其他代码中定义的.
using语句只是便于我们访问这些名称,减少代码量,提高可读性.
//定义名称空间
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace lever1{ class A { static public string name1 = "张三"; public string Name { get { return name1; } } } namespace lever2 { class A { static public string name1 = "李四"; //与lever1.A.name1互不干扰 public string Name { get { return name1; } set { name1 = this.Name; } } } }}
以下代码测试1,2,4
class Program{ static void Main(string[] args) { Console.WriteLine("lever1.A.name1 显示:{0}", lever1.A.name1); lever1.lever2.A.name1 = "王五"; Console.WriteLine("lever1.lever2.A.name2 显示:{0}", lever1.lever2.A.name1);//名称相同,以名称空间的层次来区分 }}输出:
lever1.A.name1 显示:张三
lever1.lever2.A.name2 显示:王五
以下代码测试5,6
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using lever1;//使用using包含名称空间,可简化调用namespace ConsoleApplication1{ using LT = lever1;//由于名称空间冲突,使用using为名称空间定义一个别名. //定义在此处,全局名称空间不能使用别名 class Class1 { static void Main(string[] args) { Console.WriteLine("LT.A.name1 显示:{0}", LT.A.name1); A.name1 = "王五"; Console.WriteLine("A.name1 显示:{0}", A.name1); } }}
LT.A.name1 显示:张三
A.name1 显示:王五
阅读全文
0 0
- C#名称空间--namespace
- C#中名称空间
- 【C#】C#名称空间
- C#名称空间
- 七、C# 和名称空间
- C#学习之名称空间
- C# 名称空间的别名
- C#专题-C#的名称空间[类型名称]
- C#名称空间 VS Java包
- C# 中名称空间的引用
- 更改C#项目的命名空间名称
- 名称空间
- 名称空间
- 名称空间
- 名称空间
- 名称空间
- 名称空间
- 名称空间
- servletFilterAndListener
- 【STL】迭代器iterator和有关问题
- 多项式的加法和乘法
- Visual Studio——调用约定与(动态)库详解
- 第二阶段_第一小节_小知识
- C#名称空间
- 使用JavaScript操作浏览器页面的跳转
- 普通进程的调度策略
- MySQL的GTID复制比传统复制的优势
- 第二阶段_第二小节_C#调试
- JavaSe——5、java常用类
- Android Api demo系列(12) (App>Alert Dialogs)
- 数据库连接池
- 第二阶段_第三小节_C#基础