别名指示符是什么


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如何自定义函数
Sep 16 面试题
声明struct x1 { . . . }; 和typedef struct { . . . }x2;有什么不同
Jun 02 面试题
写一个在SQL Server创建表的SQL语句
Mar 10 面试题
什么是数据库锁?Oracle中都有哪些类型的锁?
Aug 21 面试题
什么是.net的Remoting技术
Jul 08 面试题
.NET现在共支持多少种语言
Feb 26 面试题
TCP/IP的分层模型
Oct 27 面试题
LINUX下线程,GDI类的解释
Dec 14 面试题
JDBC操作数据库的基本流程是什么
Oct 28 面试题
什么时候需要进行强制类型转换
Sep 03 面试题
有abstract方法的类一定要用abstract修饰吗
Mar 14 面试题
JSF的标签库有哪些
Apr 27 面试题
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
PHP5.0对象模型探索之抽象方法和抽象类
2006/09/05 PHP
PHP入门学习笔记之一
2010/10/12 PHP
php防止伪造数据从地址栏URL提交的方法
2014/08/24 PHP
PHP模块memcached使用指南
2014/12/08 PHP
php阳历转农历优化版
2016/08/08 PHP
简单谈谈PHP中的Reload操作
2016/12/12 PHP
js本身的局限性 别让javascript做太多事
2010/03/23 Javascript
window resize和scroll事件的基本优化思路
2014/04/29 Javascript
Javascript基础教程之break和continue语句
2015/01/18 Javascript
全面解析Bootstrap中tab(选项卡)的使用方法
2016/06/06 Javascript
jQuery中get方法用法分析
2016/12/07 Javascript
无循环 JavaScript(map、reduce、filter和find)
2017/04/08 Javascript
JS处理一些简单计算题
2018/02/24 Javascript
Vue.js项目中管理每个页面的头部标签的两种方法
2018/06/25 Javascript
详解从Vue-router到html5的pushState
2018/07/21 Javascript
工作中常用到的ES6语法
2018/09/04 Javascript
ES6 proxy和reflect的使用方法与应用实例分析
2020/02/15 Javascript
基于vue3.0.1beta搭建仿京东的电商H5项目
2020/05/06 Javascript
微信小程序使用GoEasy实现websocket实时通讯
2020/05/19 Javascript
[02:16]深扒TI7聊天轮盘语音出处2
2017/05/11 DOTA
动态创建类实例代码
2009/10/07 Python
python中的多线程实例教程
2014/08/27 Python
python实现比较两段文本不同之处的方法
2015/05/30 Python
Python编写简单的HTML页面合并脚本
2016/07/11 Python
基于tensorflow加载部分层的方法
2018/07/26 Python
Python从ZabbixAPI获取信息及实现Zabbix-API 监控的方法
2018/09/17 Python
python快速编写单行注释多行注释的方法
2019/07/31 Python
如何解决tensorflow恢复模型的特定值时出错
2020/02/06 Python
基于TensorBoard中graph模块图结构分析
2020/02/15 Python
学习Python列表的基础知识汇总
2020/03/10 Python
10款最佳Python开发工具推荐,每一款都是神器
2020/10/15 Python
污水厂厂长岗位职责
2014/01/04 职场文书
光盘行动倡议书
2014/02/02 职场文书
实习指导教师评语
2014/12/30 职场文书
预备党员半年考察意见
2015/06/01 职场文书
基于tensorflow权重文件的解读
2021/05/26 Python