别名指示符是什么


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里面有没有全局变量?为什么?
Feb 06 面试题
C语言怎样定义和声明全局变量和函数最好
Nov 26 面试题
android面试问题与答案
Dec 27 面试题
傲盾软件面试题
Aug 17 面试题
介绍一下linux的文件权限
Jul 20 面试题
外包公司软件测试工程师
Nov 01 面试题
非功能性需求都包括哪些方面
Oct 29 面试题
Ajxa常见问题都有哪些
Mar 26 面试题
Static Nested Class 和 Inner Class的不同
Nov 28 面试题
GC是什么?为什么要有GC?
Dec 08 面试题
Java程序员综合测试题
Apr 25 面试题
什么是servlet
May 08 面试题
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判断字符串在另一个字符串位置的方法
2014/02/27 PHP
php发送get、post请求的6种方法简明总结
2014/07/08 PHP
php实现购物车功能(上)
2020/07/23 PHP
一款js和css代码压缩工具[附JAVA环境配置方法]
2010/04/16 Javascript
Jquery index()方法 获取相应元素索引值
2012/10/12 Javascript
基于JavaScript自定义构造函数的详解说明
2013/04/24 Javascript
JavaScript遍历table表格中的某行某列并打印其值
2014/07/08 Javascript
详谈JavaScript 匿名函数及闭包
2014/11/14 Javascript
javascript实现修改微信分享的标题内容等
2014/12/11 Javascript
JavaScript实现广告弹窗效果
2016/08/09 Javascript
浅谈javascript:两种注释,声明变量,定义函数
2016/10/05 Javascript
使用vue.js实现联动效果的示例代码
2017/01/10 Javascript
javascript数据类型详解
2017/02/07 Javascript
微信小程序中子页面向父页面传值实例详解
2017/03/20 Javascript
jQuery+Cookie实现切换皮肤功能【附源码下载】
2018/03/25 jQuery
Vue 解决路由过渡动画抖动问题(实例详解)
2020/01/05 Javascript
Python3 处理JSON的实例详解
2017/10/29 Python
Python利用itchat对微信中好友数据实现简单分析的方法
2017/11/21 Python
Python基于PyGraphics包实现图片截取功能的方法
2017/12/21 Python
彻底搞懂Python字符编码
2018/01/23 Python
老生常谈python中的重载
2018/11/11 Python
如何基于python操作json文件获取内容
2019/12/24 Python
Pycharm 2020年最新激活码(亲测有效)
2020/09/18 Python
win10安装python3.6的常见问题
2020/07/01 Python
关于Python不换行输出和不换行输出end=““不显示的问题(亲测已解决)
2020/10/27 Python
Python hashlib和hmac模块使用方法解析
2020/12/08 Python
python中pivot()函数基础知识点
2021/01/03 Python
全球领先的在线cosplay服装商店:RoleCosplay
2020/01/18 全球购物
博士学位自我鉴定范文
2013/12/26 职场文书
医学生职业生涯规划书范文
2014/03/13 职场文书
探亲假请假条
2014/04/11 职场文书
煤矿安全知识竞赛活动总结
2014/07/07 职场文书
电力工程合作意向书
2015/05/11 职场文书
Vue3中toRef与toRefs的区别
2022/03/24 Vue.js
MySQL详细讲解变量variables的用法
2022/06/21 MySQL
windows server2016安装oracle 11g的图文教程
2022/07/15 Servers