using + .net 中的别名

简介:
命名空间别名:

 

如果你的类的名称恰巧和别人一样,但是两个类的命名空间不一样,那么该如何处理呢?

namespace CompanyA.AssemblyA 

    public class Console 
    { 
        public static void DoA() 
        { 
            //just do nothing 
        } 
    } 


namespace CompanyB.AssemblyB 

    public class Console 
    { 
        public static void DoB() 
        { 
            //just do nothing 
        } 
    } 
}

 

如果要调用的话,代码可能会是下面这个样子:

class Program 

    static void Main(string[] args) 
    { 
        global::System.Console.WriteLine("test"); 
        CompanyA.AssemblyA.Console.DoA(); 
        CompanyB.AssemblyB.Console.DoB(); 
    } 
}

 

很明显,每次都要完整的写命名空间是一件很类的事情,如果你知道命名空间别名的话,你可以这样写:

using SystemConsole = global::System; 
using CA = CompanyA.AssemblyA; 
using CB = CompanyB.AssemblyB; 

class Program 

    static void Main(string[] args) 
    { 
        SystemConsole.Console.WriteLine("test"); 
        CA.Console.DoA(); 
        CB.Console.DoB(); 
    } 
}

 

类型别名:

 

除了对命名空间别名的话,还可以对某个具体的类别名。

using MyIntType = System.Int32; 
using MyDoubleType = System.Double; 
namespace CAStudy 

    class AppStart 
    { 
        public static void Main() 
        { 
            MyIntType intType = 10; 
            Console.WriteLine(intType); 

            MyDoubleType doubletype = 10.0; 
            Console.WriteLine(doubletype); 

            Console.ReadLine(); 
        } 
    } 
}

使用了类型别名后,使用System.Int32作为参数的类型也变成了MyIntType,同样返回值也会发生改变。

image

 

image






本文转自LoveJenny博客园博客,原文链接:http://www.cnblogs.com/LoveJenny/archive/2011/12/05/2276324.html,如需转载请自行联系原作者

目录
相关文章
一起谈.NET技术,WCF的问题和Using语句块
  WCF客户端不能用在Using语句块中,因为它可能会抛出不可预知的异常。即使你捕获了异常,仍有可能一直保持连接。让我们来看看形成这一问题的历史原因,并提出几个补救措施。   在.NET中,资源管理的基础就是IDisposable和Using语句块。
884 0
|
程序员
一起谈.NET技术,不要在using语句中调用WCF服务
  如果你调用WCF服务时,像下面的代码这样在using语句中进行调用,需要注意一个问题。 using (CnblogsWcfClient client = new CnblogsWcfClient()){ client.Say("Hello, cnblogs.com!");}   上面这段代码看上去没问题,CnblogsWcfClient是一个自动生成的WCF客户端代理,继承自System.ServiceModel.ClientBase。
718 0
|
程序员
不要在using语句中“.NET研究”调用WCF服务
  如果你调用WCF服务时,像下面的代码这样在using语句中进行调用,需要注意一个问题。 using (CnblogsWcfClient client = new CnblogsWcfClient()){ client.Say("Hello, cnblogs.com!");}   上面这段代码看上去没问题,CnblogsWcfClient是一个自动生成的WCF客户端代理,继承自System.ServiceModel.ClientBase。
697 0
|
4月前
|
开发框架 前端开发 .NET
ASP.NET CORE 3.1 MVC“指定的网络名不再可用\企图在不存在的网络连接上进行操作”的问题解决过程
ASP.NET CORE 3.1 MVC“指定的网络名不再可用\企图在不存在的网络连接上进行操作”的问题解决过程
46 0
|
15天前
|
开发框架 前端开发 JavaScript
JavaScript云LIS系统源码ASP.NET CORE 3.1 MVC + SQLserver + Redis医院实验室信息系统源码 医院云LIS系统源码
实验室信息系统(Laboratory Information System,缩写LIS)是一类用来处理实验室过程信息的软件,云LIS系统围绕临床,云LIS系统将与云HIS系统建立起高度的业务整合,以体现“以病人为中心”的设计理念,优化就诊流程,方便患者就医。
22 0
|
2月前
|
开发框架 前端开发 .NET
进入ASP .net mvc的世界
进入ASP .net mvc的世界
32 0