为什么会有人
Import System
以及
Import System.Web.UI.WebControls
如果System是所有命名空间的根,那么在后面的代码中使用Import System会带来什么危害。
答案 0 :(得分:2)
如果import System
确实导入了所有较低级别的命名空间,那么几乎没有理由进行导入。
但我们确实拥有命名空间系统的原因是为了避免名称冲突,其中不同的包包含相同名称的类。
例如,可能有两个不同的命名空间(使这些命名空间为System.Secure
和System.Insecure
。两者都可以使用具有完全相同名称的http
处理类,但是可以使用安全但速度较慢的协议实现,而其他不安全但更快的协议可以实现。
开发人员可以轻松地在它们之间进行选择,而无需在整个代码中重命名引用。或者,可以使用反射在运行时更轻松地切换代码。
答案 1 :(得分:1)
Import System
不会导入其他较低级别的命名空间。必须明确导入每个级别。