我有一个名为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的一部分,它可能会引起混淆,因为他们不知道去哪里寻找参考。
答案 0 :(得分:7)
虽然你的班级很相似,但它仍然不是BCL的一部分。我不会把它放在System。*因为这个。它会引起混淆,特别是当一个人去使用它并且他们有System。*引用然后在他们去使用你的类时得到一个讨厌的找不到消息....: - )
答案 1 :(得分:3)
我建议您使用公司/项目名称替换System
,或者在命名空间前加上公司/项目名称。
这样你就可以清楚地知道它不是BCL的一部分,而是它与它们的关系。
同样在(不可否认的)事件中,Microsoft使用完全相同的名称来实现这些类/方法,您将不会发生冲突。