使用指令与限定符

时间:2013-03-13 13:57:48

标签: c# performance configuration

我偶尔会引用在课堂上只使用一次的项目。这些往往是配置调用,但这可以适用于任何事情。

选项1)

using System.Web.Configuration

private static readonly string conn = WebConfigurationManager.OpenWebConfiguration......

选项2)

private static readonly string conn = System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration.......

选项1具有更易读的优点,如果我稍后添加相同类型的其他对象,我没有那么多的类型。这一切都遵循DRY原则。除此之外,任何人都知道我想知道在创建变量时放置using指令与命名完整限定符之间是否存在编译差异。

1 个答案:

答案 0 :(得分:4)

假设编译和结束都指向同一个成员 - 不,没有区别。

如果在不同的命名空间中创建名为WebConfigurationManager的类型,最终可能会出现命名冲突,但这种情况非常罕见。

在代码正文中使用完全限定名称几乎永远一个好主意。基本上只是为了消除歧义,甚至还有其他选择,例如:

// Make sure it's really unique
using swc = global::System.Web.Configuration;
...

private static readonly string conn = swc::WebConfigurationManager.[...];