变量使用声明,命名空间别名,using指令

时间:2014-01-03 09:05:42

标签: c# .net

基本上我的问题是关于以下内容:

using myName = System.Web;

我最近遇到了一些与上面的内容非常类似的代码 我的问题归结为以下几点:

  1. 这甚至叫做什么?
  2. 你为什么需要这个?
  3. 这样做的优点/缺点?
  4. 我理解使用此类声明的好处之一:

    using Security = System.Web.Security;
    
    ...
    
    _roles = (SimpleRoleProvider)Security.Roles.Provider;
    _membership = (SimpleMembershipProvider)Security.Membership.Provider;
    

    由于我有一个名为Membership的实体,我不能在没有冲突的情况下Membership.Provider。所以这里使用声明允许我将System.Web.Security.Membership的完全使用缩短为Security.Membership.Provider,这从OCD的角度来看更好。

3 个答案:

答案 0 :(得分:5)

这是一个using directive,也称为命名空间别名。

如果您有两种相同名称但来自不同命名空间的类型,则每次使用该类型时都需要拼出命名空间。如果它是一个很长的命名空间,你可能想给它一个别名。

答案 1 :(得分:2)

它被称为名称空间别名使用指令

  

using指令(C#Reference)也可用于创建别名   用于命名空间。例如,如果您使用的是之前编写的   包含嵌套命名空间的命名空间,您可能要声明   一个别名,提供一种特别引用的简写方法

答案 2 :(得分:2)

1)它叫做命名空间别名。

2)人们之所以这样做主要是因为:解决含糊不清的引用。

3)我讨厌它...所以我会给你一个骗局:别名可以是任何东西......所以它可以使代码难以阅读。应用时很少遵循标准,因此对于相同的命名空间,一个文件可能具有别名Entities和另一个文件EntitiesCore ..很难理解。