c# - 不使用 C# 命名空间有什么危险?

标签 c# namespaces

<分区>

我已经向自己证明,命名空间不是编译和运行应用程序所必需的。但是,不使用命名空间有哪些危险和陷阱?它创建了我试图避免的层。

我知道您在尖叫,但敏捷和抽象又如何呢?代码和对象之间存在 20 层抽象。我不是在问它是否违反了本月敏捷的这种或那种风​​格。如果不使用命名空间,现实世界中会出现什么问题(如果有的话)?

编辑:

创建一个独立的类 dll,因此类项目中没有冲突。当我将它包含在必须使用完整限定名的其他项目中时,尽量避免。 myNamespace.myClass MyClass = new myNamespace.myClass();

从评论来看,命名冲突似乎是最大的问题。

我想我应该使用 using 语句并振作起来...

最佳答案

命名空间有两个主要用途:

首先,它们使您代码的使用者能够更轻松地理解、查找和正确使用您的代码。系统诊断工具位于 System.Diagnostics 命名空间中是有原因的。这样客户就可以知道里面的东西是干什么用的。

其次,它们是一种防止名称冲突的机制。

实际上,第一个更为重要。冲突并不那么常见。尽管如此,它们仍然是可能的,并且明智地使用命名空间可以防止它们出现。

如果您不关心您的客户查找、理解和使用您的代码,并且您没有命名冲突,那么当然可以跳过使用命名空间。

关于c# - 不使用 C# 命名空间有什么危险?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18026020/

相关文章:

c# - protected 内部成员的可访问性不一致

c++ - 为什么在头文件中定义函数会产生多个定义错误,而不是类?

c# - 合并 2 个整数的文本而不是将它们加在一起

c# - 为什么我的反射字典类型没有实现 IDictionary?

c# - 使服务返回大量数据

php - 为什么 `require`和 `use`不能写在函数体中?

php - 将命名空间与从变量创建的类一起使用

c# - 我可以将另一个 .net 命名空间中的类公开为我的命名空间中的类吗?

C# 找不到统一自动生成的类

c# - Asp.Net MVC 应用程序问题 - 无法加载 'System.Diagnotics.Tracing'