在不同的程序集中分配相同的命名空间有什么好的理由?

时间:2012-06-25 21:04:36

标签: c# visual-studio dll namespaces .net-assembly

我倾向于喜欢在同一个已编译的程序集中收集命名空间内的类型 - 它使得查找和引用易于管理。

但是,我已经看到了在项目和程序集之间拆分相同名称空间的示例(换句话说,为了获得对完整名称空间的访问权限,您必须引用多个dll)。

有人可以给我一些很好的理由说明你为什么要这样安排代码吗?

谢谢

1 个答案:

答案 0 :(得分:1)

当我编写具有一些需要其他程序集的功能的库时,我通常会发现自己这样做。

例如,我刚写了一些转换器将.NET数据类型转换为SQL数据类型。其中大部分都保存在我的标准实用程序库中。但是,System.Drawing.PointF的转换器显然需要System.Drawing。而不是强制我的所有项目引用我的实用程序命名空间来引用System.Drawing,而是将我的库的那部分拉到同一命名空间下的单独程序集中。现在,如果您需要转换PointF,您可以引用其他程序集,并在与所有其他程序集相同的命名空间中找到转换器。

我实际上在Programmers.SE上提出了这个问题。