别名指示符是什么


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

面试题 相关文章推荐
某个公司的Java笔面试题
Mar 11 面试题
定义一结构体数组表示分数,并求两个分数相加之和
Jun 11 面试题
Hashtable 添加内容的方式有哪几种,有什么区别?
Apr 08 面试题
What's the difference between an interface and abstract class? (接口与抽象类有什么区别)
Oct 29 面试题
C# .NET面试题
Nov 28 面试题
Linux的文件类型
Mar 07 面试题
EJB与JAVA BEAN的区别
Aug 29 面试题
如何从一个文件档案的尾端新增记录
Dec 02 面试题
介绍JAVA 中的Collection FrameWork(及如何写自己的数据结构)
Oct 31 面试题
Java程序员面试题
Sep 27 面试题
Java的类与C++的类有什么不同
Jan 18 面试题
Java面试笔试题大全
Nov 23 面试题
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类(查找/修改)xml文档
2013/03/26 PHP
php json转换成数组形式代码分享
2014/11/10 PHP
分享50个提高PHP执行效率的技巧
2015/12/26 PHP
PHP通过微信跳转的Code参数获取用户的openid(关键代码)
2016/07/06 PHP
Yii针对添加行的增删改查操作示例
2016/10/18 PHP
Javascript中自动切换焦点实现代码
2012/12/15 Javascript
JQuery实现表格动态增加行并对新行添加事件
2014/07/30 Javascript
jquery实现横向图片轮播特效代码分享
2015/11/19 Javascript
JS 数字转换为大写金额的简单实例
2016/08/04 Javascript
JavaScript实现窗口抖动效果
2016/10/19 Javascript
JSON与XML的区别对比及案例应用
2016/11/11 Javascript
jquery中封装函数传递当前元素的方法示例
2017/05/05 jQuery
es6+angular1.X+webpack 实现按路由功能打包项目的示例
2017/08/16 Javascript
常用的9个JavaScript图表库详解
2017/12/19 Javascript
React Navigation 使用中遇到的问题小结
2018/05/08 Javascript
es6中比较有用的7个技巧小结
2019/07/12 Javascript
[15:28]DOTA2 HEROS教学视频教你分分钟做大人-剧毒术士
2014/06/13 DOTA
[42:34]VP vs VG 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
[47:43]Alliance vs KG 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/18 DOTA
[54:18]DOTA2-DPC中国联赛 正赛 PSG.LGD vs LBZS BO3 第一场 1月22日
2021/03/11 DOTA
Python重新引入被覆盖的自带function
2014/07/16 Python
简单了解python的内存管理机制
2019/07/08 Python
Django框架自定义模型管理器与元选项用法分析
2019/07/22 Python
基于python实现地址和经纬度转换
2020/05/19 Python
python中用Scrapy实现定时爬虫的实例讲解
2021/01/18 Python
俄罗斯珠宝市场的领导者之一:Бронницкий ювелир
2019/10/02 全球购物
Linux面试经常问的文件系统操作命令
2016/10/04 面试题
简述Linux文件系统通过i节点把文件的逻辑结构和物理结构转换的工作过程
2012/04/17 面试题
小学教师寄语大全
2014/04/03 职场文书
公司总经理助理岗位职责
2014/07/09 职场文书
导游词之湖北梁子湖
2019/11/07 职场文书
深入讲解Vue中父子组件通信与事件触发
2022/03/22 Vue.js
redis复制有可能碰到的问题汇总
2022/04/03 Redis
Python之Matplotlib绘制热力图和面积图
2022/04/13 Python
python垃圾回收机制原理分析
2022/04/13 Python
Win11安装升级时提示“该电脑必须支持安全启动”
2022/04/19 数码科技