在 .Net 命名指南(http://msdn.microsoft.com/en-us/library/893ke618(v=vs.71).aspx)中有这样的声明:
“嵌套命名空间应该依赖于包含命名空间中的类型。例如,System.Web.UI.Design 中的类依赖于 System.Web.UI 中的类。但是,System.Web.UI 中的类不依赖于 System.Web.UI.Design 中的类。”
我想知道为什么?
在 .Net 命名指南(http://msdn.microsoft.com/en-us/library/893ke618(v=vs.71).aspx)中有这样的声明:
“嵌套命名空间应该依赖于包含命名空间中的类型。例如,System.Web.UI.Design 中的类依赖于 System.Web.UI 中的类。但是,System.Web.UI 中的类不依赖于 System.Web.UI.Design 中的类。”
我想知道为什么?
因为当你想到它时它是有道理的。
让我用一个小例子来解释:
例如,刀片需要一个手柄才能成为“刀”。
但是手柄不需要刀刃作为手柄,对吗?
using KitchenSet;
using KitchenSet.Knives; // This is where your knives (what uses Blades) would live.
using KitchenSet.Knives.Blades; // The actual blades.
这是一个明智的规则,因为 System.Web.UI 命名空间中定义的类对 System.Web.UI.Design 中定义的类可见,但 System.Web.UI.Design 命名空间中定义的类对类不可见在 System.Web.UI 命名空间中定义。在后一种情况下,需要添加 using 语句(VB.NET 中的 Imports)。