别名指示符是什么


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

面试题 相关文章推荐
JSF如何进行表格处理及取值
Aug 06 面试题
我想声明一个指针并为它分配一些空间, 但却不行。这些代码有什么 问题?char *p; *p = malloc(10);
Oct 06 面试题
SQL Server数据库笔试题和答案
Feb 04 面试题
什么是事务?为什么需要事务?
Jan 09 面试题
关于递归的一道.NET面试题
May 12 面试题
使用C#编写创建一个线程的代码
Jan 22 面试题
中科创达面试题
Dec 28 面试题
MIS软件工程师的面试题
Apr 22 面试题
是否可以从一个static方法内部发出对非static方法的调用?
Aug 18 面试题
类的返射机制中的包及核心类
Sep 12 面试题
介绍JAVA 中的Collection FrameWork(及如何写自己的数据结构)
Oct 31 面试题
什么是抽象
Dec 13 面试题
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/12/18 PHP
Ajax和PHP正则表达式验证表单及验证码
2016/09/24 PHP
Yii2框架BootStrap样式的深入理解
2016/11/07 PHP
HTML-CSS群中单选引发的“事件”
2007/03/05 Javascript
!DOCTYPE声明对JavaScript的影响分析
2010/04/12 Javascript
Javascript Function对象扩展之延时执行函数
2010/07/06 Javascript
javascript中callee与caller的用法和应用场景
2010/12/08 Javascript
js控制再次点击按钮之间的间隔时间可防止重复提交
2014/08/01 Javascript
Javascript基础知识(一)核心基础语法与事件模型
2014/09/29 Javascript
深入解析jQuery中Deferred的deferred.promise()方法
2016/05/03 Javascript
如何利用Promises编写更优雅的JavaScript代码
2016/05/17 Javascript
本地Bootstrap文件字体图标引入却无法显示问题的解决方法
2020/04/18 Javascript
详解Angular的数据显示优化处理
2016/12/26 Javascript
Node.js v8.0.0正式发布!看看带来了哪些主要新特性
2017/06/02 Javascript
JavaScript实现的仿新浪微博原生态输入字数即时检查功能【兼容IE6】
2017/09/26 Javascript
基于对象合并功能的实现示例
2017/10/10 Javascript
详解Puppeteer 入门教程
2018/05/09 Javascript
vue-cli构建vue项目的步骤详解
2019/01/27 Javascript
详解如何使用nvm管理Node.js多版本
2019/05/06 Javascript
vue前后分离调起微信支付
2019/07/29 Javascript
40行代码把Vue3的响应式集成进React做状态管理
2020/05/20 Javascript
vue实现选中效果
2020/10/07 Javascript
[32:39]完美世界DOTA2联赛循环赛 Forest vs Inki BO2第一场 11.04
2020/11/04 DOTA
python集合类型用法分析
2015/04/08 Python
Python中协程用法代码详解
2018/02/10 Python
对Python 检查文件名是否规范的实例详解
2019/06/10 Python
python如何给字典的键对应的值为字典项的字典赋值
2019/07/05 Python
python numpy存取文件的方式
2020/04/01 Python
python numpy 矩阵堆叠实例
2020/01/17 Python
Weblogic和WebSphere不同特点
2012/05/09 面试题
理工大学毕业生自荐信
2013/11/01 职场文书
《水上飞机》教学反思
2014/04/10 职场文书
驳回起诉裁定书
2015/05/19 职场文书
试用期转正工作总结2015
2015/05/28 职场文书
2015中学教师个人工作总结
2015/07/22 职场文书
Linux中sftp常用命令整理
2022/06/28 Servers