别名指示符是什么


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...

面试题 相关文章推荐
Yahoo-PHP面试题4
May 05 面试题
JNI的定义
Nov 25 面试题
编码实现字符串转整型的函数
Jun 02 面试题
什么是数组名
May 10 面试题
ORACLE第二个十问
Dec 14 面试题
简述DNS进行域名解析的过程
Dec 02 面试题
Linux的文件类型
Jul 05 面试题
Linux如何为某个操作添加别名
Feb 05 面试题
新锐科技Java程序员面试题
Jul 25 面试题
Vector, ArrayList, HashTable, HashMap哪些是线程安全的,哪些不是
Oct 12 面试题
灵泰克Java笔试题
Jan 09 面试题
程序员跳槽必看面试题总结
Jun 28 面试题
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
yii框架表单模型使用及以数组形式提交表单数据示例
2014/04/30 PHP
php求一个网段开始与结束IP地址的方法
2015/07/09 PHP
ThinkPHP5框架中使用JWT的方法示例
2020/06/03 PHP
WEB页子窗口(showModalDialog和showModelessDialog)使用说明
2009/10/25 Javascript
JavaScript学习笔记(一) js基本语法
2011/10/25 Javascript
JavaScript中常用的运算符小结
2012/01/18 Javascript
关于JS中的闭包浅谈
2013/08/23 Javascript
自己编写的类似JS的trim方法
2013/10/09 Javascript
JS按字节截取字符长度实例
2013/11/20 Javascript
Javascript实现多彩雪花从天降散落效果的方法
2015/02/02 Javascript
举例讲解如何判断JavaScript中对象的类型
2016/04/22 Javascript
javascript 数组的正态分布排序的问题
2016/07/31 Javascript
AngularJS HTML DOM详解及示例代码
2016/08/17 Javascript
angular源码学习第一篇 setupModuleLoader方法
2016/10/20 Javascript
js 获取图像缩放后的实际宽高,位置等信息
2017/03/07 Javascript
NodeJS处理Express中异步错误
2017/03/26 NodeJs
详解vue2.0监听属性的使用心得及搭配计算属性的使用
2018/07/18 Javascript
react实现换肤功能的示例代码
2018/08/14 Javascript
详解如何构建一个Angular6的第三方npm包
2018/09/07 Javascript
小程序input数据双向绑定实现方法
2019/10/17 Javascript
Vue实现渲染数据后控制滚动条位置(推荐)
2019/12/09 Javascript
[48:28]完美世界DOTA2联赛循环赛FTD vs Magma第二场 10月30日
2020/10/31 DOTA
python try 异常处理(史上最全)
2019/03/07 Python
python 爬取马蜂窝景点翻页文字评论的实现
2020/01/20 Python
python中的split、rsplit、splitlines用法说明
2020/10/23 Python
python利用opencv保存、播放视频
2020/11/02 Python
Ibatis如何调用存储过程
2015/05/15 面试题
浪费资源的建议书
2014/03/12 职场文书
初中生评语大全
2014/04/24 职场文书
《明天,我们毕业》教学反思
2014/04/24 职场文书
通信工程专业求职信
2014/06/04 职场文书
辞职信格式模板
2015/02/27 职场文书
2015年食品安全工作总结
2015/05/15 职场文书
信用卡工作证明范本
2015/06/19 职场文书
2019行政前台转正申请书范文3篇
2019/08/15 职场文书
CSS3实现的侧滑菜单
2021/04/27 HTML / CSS