【发布时间】:2019-01-14 17:22:41
【问题描述】:
我有两个不同的程序集:Assembly1 和 Assembly2。两个程序集都使用相同的命名空间SoftwareDrivers。现在,我有两个具有相同功能的类的实现,只是不同的实现和依赖项将一个实现绑定到Assembly1,另一个绑定到Assembly2;我会打电话给这个类PackageWriter。
有些项目可能需要同时引用这两个程序集,因此我预计在解决在该场景中使用哪个PackageWriter 时会出现问题。是这样吗?如果是这样,解决这个问题的唯一方法是,在不改变项目结构的情况下,改名为PackageWriter?c
【问题讨论】:
-
为什么不简单地尝试一下呢?恕我直言,如果两个类具有相同的名称(甚至相同的命名空间)但做不同的事情,它会闻起来。
-
extern alias。有一些功能可以帮助您处理这些问题,但通常这表明您没有选择足够好的名称。 IE。实际上区分使用assembly1 的PackageWriter与使用assembly2 的PackageWriter,为什么不是名称的一部分? -
如果他们有“相同的功能但不同的实现”,那么为什么不选择一个实现更好的并在两个地方都使用呢?
-
@RufusL - 如果一个实际上应该命名为
XmlPackageWriter和另一个ASN1PackageWriter,那么两者都不一定比另一个更好,但正如我上面所说,它指向命名失败。 -
@Damien_The_Unbeliever 我想我不明白为什么在同一个命名空间中有两个不同的方法具有 相同 功能。也许它应该被表述为类似功能?
标签: c# namespaces .net-assembly