Mr *_*ubs 19 .net c# vb.net namespaces
是否可以让一个类驻留在两个名称空间内,我该怎么做?
澄清一下:我们有一个类库(比如root命名空间是classLib1),它随着时间的推移而增长(更多的类),我想在逻辑上将类分组到不同的命名空间.但是,某些较旧的类需要分组到这些新的命名空间(例如classLib1.section1),这样做会破坏使用此类库的其他程序集中的遗留代码.所以我希望能够使用两个名称空间引用一个类,直到我们可以逐步淘汰旧的类.
我找不到任何关于此的信息,这表明人们不想这样做的原因!?!
dtb*_*dtb 22
不,没有办法给单个类两个名称(名称空间实际上只是类名的一部分).
作为解决方法,您可以将类移动到新位置,并在旧位置(Facade Pattern)周围创建薄包装器.当然,更好的解决方案是移动类并相应地修复遗留代码.
类型转发是在 .net 2.0 中引入的,这意味着您可以使用该TypeForwardedToAttribute属性来指示最初出现在 AssemblyX 中的类型现在可以在 AssemblyY 中找到。
我相当确定这仅在您将其分成多个程序集时才合适/适用,但即使没有也值得了解。
| 归档时间: |
|
| 查看次数: |
22450 次 |
| 最近记录: |