C#语言有很多值得学习的地方,这里我们主要介绍C#别名指示符,包括介绍C#别名指示符在所有命名空间最外层定义等方面。
创新互联专注于企业成都全网营销推广、网站重做改版、全州网站定制设计、自适应品牌网站建设、H5页面制作、商城建设、集团公司官网建设、外贸营销网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为全州等各大城市提供网站开发制作服务。
C#别名指示符是什么?
通过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();
- }
- }
- }
- }
分享标题:C#别名指示符学习经验
文章分享:http://www.gawzjz.com/qtweb2/news49/3049.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联