c# - 在您自己的类上使用 System.* 命名空间是否被视为不良做法?

标签 c# .net namespaces naming-conventions base-class-library

<分区>

我有一个类叫做 ConfigurationElementCollection<T>

它是 System.Configuration.ConfigurationElementCollection 的通用实现

它存储在我们的解决方案 Project.Utility.dll 中,但我将其定义为 System.Configuration 的一部分命名空间

namespace System.Configuration
{
    [ConfigurationCollection(typeof(ConfigurationElement))]
    public class ConfigurationElementCollection<T> : 
        ConfigurationElementCollection where T : ConfigurationElement, new()
    {
       ...
    }
}

将类放在 System.* 命名空间中,当它们不是 System.* 基类库的一部分时,是否被认为是不好的做法?

从表面上看,这似乎是有道理的,因为它将具有相似功能的相似类放在同一个地方。然而,对于没有意识到它实际上是非 .net BCL 的一部分的人来说,这可能会造成混淆,因为他们不知道去哪里寻找引用。

最佳答案

虽然你的类(class)很相似,但它仍然不是 BCL 的一部分。因此,我不会将它放在 System.* 中。这会引起混淆,尤其是当一个人去使用它并且他们引用了 System.* 然后在他们去使用你的类时得到一个令人讨厌的找不到消息.... :-)

关于c# - 在您自己的类上使用 System.* 命名空间是否被视为不良做法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6003384/

相关文章:

C# 保存图像质量差

C#执行cmd命令不起作用

c++ - 了解运算符查找;哪个编译器是正确的?

c# - 是否可以在类中定义任何类型的列表,它可以包含任何类型的列表

c# - 没有无参数构造函数的类型的 Activator.CreateInstance(Type)

xml - 如何更改此 WSDL 中的 namespace 前缀?

php - 使用具有多个 namespace 的 SimpleXML 解析 XML

c# - 如何使用 C# 在 Excel 中查找并替换单词/短语

C# System.IO.Directory.CreateDirectory - 使用 utf-8 字符创建目录?

c# - 如何防止按键更新 MaskedTextBox 的文本?