是否正在使用System.*您自己的类上的命名空间被认为是不良实践?

Eoi*_*ell 7 .net c# 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()
    {
       ...
    }
}
Run Code Online (Sandbox Code Playgroud)

将类放在System.*名称空间中当它们不属于系统时被认为是不好的做法.*基类库?

从表面上看,似乎有意义,因为它在同一个地方保留了类似功能的类似类.然而,对于那些没有意识到它实际上是非.net BCL的一部分的人来说,它可能会引起混淆,因为他们不知道去哪里寻找参考.

Kev*_*che 7

虽然你的班级很相似,但它仍然不是BCL的一部分.我不会把它放在System.*因为这个.它会引起混淆,特别是当一个人去使用它并且他们有System.*引用然后在他们去使用你的类时得到一个讨厌的无法找到消息.... :-)