关于外部库和命名空间的问题

时间:2010-12-27 18:32:56

标签: c# .net namespaces

在我正在构建的类库中,我包含来自HtmlAgilityPack的文件。我的问题:我应该围绕HtmlAgilityPack类包装我的命名空间吗?例如:

namespace HtmlAgilityPack {
    internal... // blah blah blah

}

变为:

namespace MyNamespace {
    namespace HtmlAgilityPack {
        internal... // blah blah blah

    }
}

我正在考虑这样做以防止已经使用HtmlAgilityPack的项目发生冲突。有没有其他理由这样做?谢谢,

3 个答案:

答案 0 :(得分:1)

不,我认为你不必担心这个问题。对于已经使用HtmlAgilityPack的项目,您只需与它们共享HtmlAgilityPack命名空间即可。我不认为这里存在冲突问题。

答案 1 :(得分:1)

用户应该能够使用命名空间唯一地标识类名,这就是名称空间的全部概念。有像别名的解决方法,但我不会为您的库的用户介绍此问题。在这种情况下,我会按照你的建议包装HtmlAgility命名空间。

答案 2 :(得分:1)

而不是:

namespace MyNamespace {
    namespace HtmlAgilityPack {
        internal... // blah blah blah

    }
}

namespace MyNamespace.HtmlAgilityPack 
{
        internal... // blah blah blah
}

这是一种常见的方式,是的,这样做很好,因为这个命名空间还活着。