基本上我的问题是关于以下内容:
using myName = System.Web;
我最近遇到了一些与上面的内容非常类似的代码 我的问题归结为以下几点:
我理解使用此类声明的好处之一:
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的角度来看更好。
答案 0 :(得分:5)
这是一个using directive,也称为命名空间别名。
如果您有两种相同名称但来自不同命名空间的类型,则每次使用该类型时都需要拼出命名空间。如果它是一个很长的命名空间,你可能想给它一个别名。
答案 1 :(得分:2)
它被称为名称空间别名或使用指令。
using指令(C#Reference)也可用于创建别名 用于命名空间。例如,如果您使用的是之前编写的 包含嵌套命名空间的命名空间,您可能要声明 一个别名,提供一种特别引用的简写方法
答案 2 :(得分:2)
1)它叫做命名空间别名。
2)人们之所以这样做主要是因为:解决含糊不清的引用。
3)我讨厌它...所以我会给你一个骗局:别名可以是任何东西......所以它可以使代码难以阅读。应用时很少遵循标准,因此对于相同的命名空间,一个文件可能具有别名Entities
和另一个文件EntitiesCore
..很难理解。