别名指示符是什么


Posted in 面试题 onOctober 08, 2012
通过别名指示符我们可以为某个类型起一个别名
主要用于解决两个命名空间内有同名类型的冲突或避免使用冗余的命名空间
别名指示符在所有命名空间最外层定义,作用域为整个单元文件。如果定义在某个命名空间内,那么它只在直接隶属的命名空间内起作用
示例:
Class1.cs:
using System;
using System.Collections.Generic;
using System.Text;
namespace com.nblogs.reonlyrun.CSharp25QExample.Example19.Lib01
{
class Class1
{
public override string ToString()
{
return “com.nblogs.reonlyrun.CSharp25QExample.Example19.Lib01′s Class1″;
}
}
}
Class2.cs:
using System;
using System.Collections.Generic;
using System.Text;
namespace com.nblogs.reonlyrun.CSharp25QExample.Example19.Lib02
{
class Class1
{
public override string ToString()
{
return “com.nblogs.reonlyrun.CSharp25QExample.Example19.Lib02′s Class1″;
}
}
}
主单元(Program.cs):
using System;
using System.Collections.Generic;
using System.Text;
//使用别名指示符解决同名类型的冲突
//在所有命名空间最外层定义,作用域为整个单元文件
using Lib01Class1 = com.nblogs.reonlyrun.CSharp25QExample.Example19.Lib01.Class1;
using Lib02Class2 = com.nblogs.reonlyrun.CSharp25QExample.Example19.Lib02.Class1;
namespace Example19
{
namespace Test1
{
//Test1Class1在Test1命名空间内定义,作用域仅在Test1之内
using Test1Class1 = com.nblogs.reonlyrun.CSharp25QExample.Example19.Lib01.Class1;
class Class1
{
//Lib01Class1和Lib02Class2在这可以正常使用
Lib01Class1 tmpObj1 = new Lib01Class1();
Lib02Class2 tmpObj2 = new Lib02Class2();
//TestClass1在这可以正常使用
Test1Class1 tmpObj3 = new Test1Class1();
}
}
namespace Test2
{
using Test1Class2 = com.nblogs.reonlyrun.CSharp25QExample.Example19.Lib01.Class1;
class Program
{
static void Main(string[] args)
{
//Lib01Class1和Lib02Class2在这可以正常使用
Lib01Class1 tmpObj1 = new Lib01Class1();
Lib02Class2 tmpObj2 = new Lib02Class2();
//注意这里,TestClass1在这不可以正常使用。
//因为,在Test2命名空间内不能使用Test1命名空间定义的别名
//Test1Class1 tmpObj3 = new Test1Class1();
//TestClass2在这可以正常使用
Test1Class2 tmpObj3 = new Test1Class2();
Console.WriteLine(tmpObj1);
Console.WriteLine(tmpObj2);
Console.WriteLine(tmpObj3);
Console.ReadLine();
}
}
}
}
结果:
com.nblogs.reonlyrun.CSharp25QExample.Example19.Lib01′s Class1
com.nblogs.reonlyrun.CSharp25QExample.Example19.Lib02′s Class1
com.nblogs.reonlyrun.CSharp25QExample.Example19.Lib01′s Class1

Tags in this post...

面试题 相关文章推荐
PHP面试题大全
Oct 16 面试题
局部内部类是否可以访问非final变量?
Apr 20 面试题
面向对象编程是如何提高软件开发水平的
May 06 面试题
C语言基础笔试题
Apr 27 面试题
武汉东之林科技有限公司机试
Sep 17 面试题
逻辑链路控制协议
Oct 01 面试题
介绍一下MD5加密算法
Nov 12 面试题
什么是虚拟内存?虚拟内存有什么优势?
Feb 09 面试题
介绍一下gcc特性
Jan 20 面试题
Linux管理员面试经常问道的相关命令
Dec 12 面试题
介绍下static、final、abstract区别
Jan 30 面试题
同步和异步有何异同,在什么情况下分别使用他们
Apr 09 面试题
C#实现对任一张表的数据进行增,删,改,查要求,运用Webservice,体现出三层架构
Jul 11 #面试题
如何手工释放资源
Dec 15 #面试题
编写一个类体现构造,公有,私有方法,静态,私有变量
Aug 10 #面试题
P/Invoke是什么
Jul 31 #面试题
C#如何判断当前用户是否输入某个域
Dec 07 #面试题
StringBuilder和String的区别
May 18 #面试题
explicit和implicit的含义
Nov 15 #面试题
You might like
实测在class的function中include的文件中非php的global全局环境
2013/07/15 PHP
php简单实现屏蔽指定ip段用户的访问
2015/04/29 PHP
PHP实现清除wordpress里恶意代码
2015/10/21 PHP
Fixie.js 自动填充内容的插件
2012/06/28 Javascript
javascript arguments使用示例
2014/12/16 Javascript
JavaScript 学习笔记之基础中的基础
2015/01/13 Javascript
JS仿iGoogle自定义首页模块拖拽特效的方法
2015/02/13 Javascript
Java中Timer的用法详解
2015/10/21 Javascript
jquery trigger函数执行两次的解决方法
2016/02/29 Javascript
JavaScript 函数的执行过程
2016/05/09 Javascript
论Bootstrap3和Foundation5网格系统的异同
2016/05/16 Javascript
JS实现最简单的冒泡排序算法
2017/02/15 Javascript
利用node.js爬取指定排名网站的JS引用库详解
2017/07/25 Javascript
vue watch普通监听和深度监听实例详解(数组和对象)
2018/08/16 Javascript
微信小程序实现一张或多张图片上传(云开发)
2019/09/25 Javascript
mpvue实现左侧导航与右侧内容的联动
2019/10/21 Javascript
vue项目中定义全局变量、函数的几种方法
2019/11/08 Javascript
详解JavaScript 高阶函数
2020/09/14 Javascript
Hadoop中的Python框架的使用指南
2015/04/22 Python
python制作一个桌面便签软件
2015/08/09 Python
Python中装饰器高级用法详解
2017/12/25 Python
浅谈Python3中strip()、lstrip()、rstrip()用法详解
2019/04/29 Python
python实现文本进度条 程序进度条 加载进度条 单行刷新功能
2019/07/03 Python
python3应用windows api对后台程序窗口及桌面截图并保存的方法
2019/08/27 Python
Python shutil模块用法实例分析
2019/10/02 Python
pyhton中__pycache__文件夹的产生与作用详解
2019/11/24 Python
谈一谈HTML5本地存储技术
2016/03/02 HTML / CSS
澳大利亚著名的纺织品品牌:Canningvale
2020/05/05 全球购物
小学毕业家长寄语
2014/01/19 职场文书
旅游业大学生创业计划书
2014/01/31 职场文书
车辆转让协议书
2014/09/24 职场文书
党员批评与自我批评总结
2014/10/15 职场文书
团委工作总结2015
2015/04/02 职场文书
婚礼领导致辞大全
2015/07/28 职场文书
扩展多台相同的Web服务器
2021/04/01 Servers
使用Redis实现分布式锁的方法
2022/06/16 Redis