【发布时间】:2014-06-30 02:27:12
【问题描述】:
在我的代码中包含命名空间或程序集时,我经常会遇到一些奇怪的情况,即一个命名空间是从另一个命名空间继承而来的,而父命名空间中的类却不可用。例如,当使用List<> 或Dictionary<> 时,我使用System.Collections.Generic 命名空间。但是,如果我还想使用IEnumerator,我还必须包含System.Collections 命名空间。 System.Collections 不应该已经被System.Collections.Generic 的任何成员引用,因为它是一个孩子?两个命名空间还共享同一个程序集 mscorlib.dll。
为什么没有包含子命名空间的父命名空间?
【问题讨论】:
-
因为编译器很笨。并且必须被告知要包括什么。或者问题是什么?
-
@Sinatr 这就是问题所在,我只是想知道为什么编译器如此愚蠢以至于不包含父命名空间
-
@OutlawLemur:“愚蠢”我认为您的意思是“遵守语言规范”。
标签: c# inheritance namespaces assemblies class-hierarchy