别名指示符是什么


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

面试题 相关文章推荐
String和StringBuffer的区别
Aug 13 面试题
请描述一下”is a”关系和”has a”关系
Feb 03 面试题
Javascript如何发送一个Ajax请求
Jan 26 面试题
可以使用抽象函数重写基类中的虚函数吗
Jun 02 面试题
C#里面如何判断一个Object是否是某种类型(如Boolean)?
Feb 10 面试题
Windows和Linux动态库应用异同
Apr 17 面试题
ShellScript面试题一则-ShellScript编程
Jun 24 面试题
介绍JAVA 中的Collection FrameWork(及如何写自己的数据结构)
Oct 31 面试题
怎样自定义一个异常类
Sep 27 面试题
J2EE系统只能是基于web
Sep 08 面试题
JPA的优势都有哪些
Jul 04 面试题
WSDL的操作类型主要有几种
Jul 19 面试题
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
一个简洁的PHP可逆加密函数(分享)
2013/06/06 PHP
PHP使用SOAP调用.net的WebService数据
2013/11/12 PHP
使用YUI+Ant 实现JS CSS压缩
2014/09/02 PHP
PHP将session信息存储到数据库的类实例
2015/03/04 PHP
prototype与jquery下Ajax实现的差别
2009/09/13 Javascript
jQuery $命名冲突解决方案汇总
2014/11/13 Javascript
jQuery中toggleClass()方法用法实例
2015/01/05 Javascript
NodeJS学习笔记之Connect中间件模块(一)
2015/01/27 NodeJs
javascript与css3动画结合使用小结
2015/03/11 Javascript
JS+CSS实现的简单折叠展开多级菜单效果
2015/09/12 Javascript
jQuery实用技巧必备(下)
2015/11/03 Javascript
js修改onclick动作的四种方法(推荐)
2016/08/18 Javascript
Json对象和字符串互相转换json数据拼接和JSON使用方式详细介绍(小结)
2016/10/25 Javascript
Vue组件之Tooltip的示例代码
2017/10/18 Javascript
浅谈Node.js爬虫之网页请求模块
2018/01/11 Javascript
JavaScript简单实现的仿微博留言功能示例
2019/01/17 Javascript
微信小程序 如何保持登录状态
2019/08/16 Javascript
Vue中使用matomo进行访问流量统计的实现
2019/11/05 Javascript
nodejs对mongodb数据库的增加修删该查实例代码
2020/01/05 NodeJs
JavaScript对象原型链原理解析
2020/01/22 Javascript
vue界面发送表情的实现代码
2020/09/11 Javascript
[51:26]VP vs VG 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
python实现随机调用一个浏览器打开网页
2018/04/21 Python
Python实现的基于优先等级分配糖果问题算法示例
2018/04/25 Python
利用pyinstaller将py文件打包为exe的方法
2018/05/14 Python
解决Pycharm调用Turtle时 窗口一闪而过的问题
2019/02/16 Python
详解Python locals()的陷阱
2019/03/26 Python
关于numpy中eye和identity的区别详解
2019/11/29 Python
解决Tensorboard 不显示计算图graph的问题
2020/02/15 Python
TensorFlow2.1.0安装过程中setuptools、wrapt等相关错误指南
2020/04/08 Python
详解Selenium 元素定位和WebDriver常用方法
2020/12/04 Python
有模特经验的简历自我评价
2013/09/19 职场文书
工会优秀工作者事迹
2014/08/17 职场文书
团队执行力培训心得体会
2015/08/15 职场文书
公开致歉信
2019/06/24 职场文书
升级 Win11 还是坚守 Win10?微软 Win11 新系统缺失功能大盘点
2022/04/05 数码科技