C#面试题

当前位置: 面试问题网 > C#面试题 > 别名指示符是什么

别名指示符是什么

通过别名指示符我们可以为某个类型起一个别名
   主要用于解决两个命名空间内有同名类型的冲突或避免使用冗余的命名空间
   别名指示符在所有命名空间最外层定义,作用域为整个单元文件。如果定义在某个命名空间内,那么它只在直接隶属的命名空间内起作用
   示例:
   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

【别名指示符是什么】相关文章

1. 别名指示符是什么

2. 什么是索引指示器

3. 什么是静态路由,其特点是什么?什么是动态路由,其特点是什么?

4. sealed修饰符是干什么的

5. new修饰符是起什么作用

6. Linux如何为某个操作添加别名

7. 简述使用ftp进行文件传输时的两种登录方式?它们的区别是什么?常用的ftp文件传输命令是什么?

8. 什么叫应用程序域?什么是托管代码?什么是强类型系统?什么是装箱和拆箱?什么是重载?CTS、CLS和CLR分别作何解释?

9. 什么是静态路由?什么是动态路由?各自的特点是什么?

10. 什么是符号链接,什么是硬链接?符号链接与硬链接的区别是什么?

本文来源:https://www.mianshiwenti.com/a13018.html

点击展开全部

《别名指示符是什么》

将本文的Word文档下载到电脑,方便收藏和打印

推荐程度:

进入下载页面

﹝别名指示符是什么﹞相关内容

其它栏目

也许您还喜欢