【问题标题】:Redundancy in Using Directives使用指令的冗余
【发布时间】:2016-07-13 07:34:48
【问题描述】:

我是 ASP.NET 开发的新手,关于使用指令有一些我完全不了解的东西......

using System;
using System.Data;
using System.Data.SqlClient;

在上面的代码示例中,我很好奇为什么我们必须显式列出System.DataSystem.Data.SqlClient,而它们已经包含在第一条语句using System; 中。我们必须指定包含在父命名空间中的命名空间似乎是多余的。我知道这个问题可能有一个非常简单的解释,但我无法通过搜索找到它。

【问题讨论】:

  • 这就像在你的文件系统中指定几个文件夹。每个命名空间都是唯一的。
  • @ManoDestra 把它想象成一个文件目录系统很有意义
  • 确实如此。您可以在 C:\files1 中有一个 test.txt 文件,在 C:\files1\backup 中有一个。尽管它们的名称相同,但它们都是不同的文件。唯一使它们独一无二的是目录路径(在这种情况下是命名空间),它使您能够访问特定的文件(或在这种情况下的类)。

标签: c# .net


【解决方案1】:
using System;

不包括命名空间System.Data。这些是单独的命名空间。因此,如果您打算使用在这两个命名空间中定义的类,则两者都需要。

【讨论】:

  • 同样,System.Data 不包括 System.Data。层次结构纯粹是组织性的
  • 但是,如果您的代码存在于命名空间“System.Data”中,您还会自动看到“System”以及“System.Data”中的所有内容。
猜你喜欢
  • 2011-12-20
  • 1970-01-01
  • 2017-09-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-12
  • 1970-01-01
  • 2014-01-28
相关资源
最近更新 更多