别名指示符是什么


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

面试题 相关文章推荐
PHP如何去执行一个SQL语句
Mar 05 面试题
空字符串(“”)和null的区别
Nov 13 面试题
东方通信股份有限公司VC面试题
Aug 27 面试题
c++工程师面试问题
Aug 04 面试题
数据库面试要点基本概念
Oct 31 面试题
为什么group by 和order by会使查询变慢
May 16 面试题
广州品高软件.net笔面试题目
Apr 18 面试题
天网面试题
Apr 07 面试题
如何开启linux的ssh服务
Jun 03 面试题
常用UNIX 命令(Linux的常用命令)
Jul 10 面试题
软件测试笔试题
Oct 25 面试题
同步和异步有何异同,在什么情况下分别使用他们?
Dec 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
PHP 5.3新特性命名空间规则解析及高级功能
2010/03/11 PHP
PHP图片处理之使用imagecopyresampled函数实现图片缩放例子
2014/11/19 PHP
YII动态模型(动态表名)支持分析
2016/03/29 PHP
PHP中16个高危函数整理
2019/09/19 PHP
Ext JS Grid在IE6 下宽度的问题解决方法
2009/02/15 Javascript
JS脚本defer的作用示例介绍
2014/01/02 Javascript
JS返回iframe中frameBorder属性值的方法
2015/04/01 Javascript
JavaScript中DOM详解
2015/04/13 Javascript
javascript实现鼠标移到Image上方时显示文字效果的方法
2015/08/07 Javascript
AngularJS实现分页显示数据库信息
2016/07/01 Javascript
React + webpack 环境配置的方法步骤
2017/09/07 Javascript
微信小程序图片选择区域裁剪实现方法
2017/12/02 Javascript
动态加载JavaScript文件的3种方式
2018/05/05 Javascript
解决layui数据表格table的横向滚动条显示问题
2019/09/04 Javascript
vue滚动插件better-scroll使用详解
2019/10/18 Javascript
python删除列表中重复记录的方法
2015/04/28 Python
Python2.7读取PDF文件的方法示例
2017/07/13 Python
python基本语法练习实例
2017/09/19 Python
Python数据可视化之画图
2019/01/15 Python
python 实现敏感词过滤的方法
2019/01/21 Python
Django中提供的6种缓存方式详解
2019/08/05 Python
Python socket模块ftp传输文件过程解析
2019/11/05 Python
Python 读取 YUV(NV12) 视频文件实例
2019/12/09 Python
Python基础之字典常见操作经典实例详解
2020/02/26 Python
django中的数据库迁移的实现
2020/03/16 Python
Python操作Excel把数据分给sheet
2020/05/20 Python
python3 简单实现组合设计模式
2020/07/02 Python
Python rabbitMQ如何实现生产消费者模式
2020/08/24 Python
汤米巴哈马官方网站:Tommy Bahama
2017/05/13 全球购物
2013年大学生的自我鉴定
2013/10/24 职场文书
我的祖国演讲稿
2014/05/04 职场文书
2014年百日安全生产活动总结
2014/05/04 职场文书
秋季运动会广播稿(30篇)
2014/09/13 职场文书
领导班子整改措施
2014/10/24 职场文书
个人自我鉴定怎么写?
2019/07/01 职场文书
PyTorch dropout设置训练和测试模式的实现
2021/05/27 Python