是否可以反转别名c#名称空间?

时间:2012-03-05 18:21:49

标签: c# .net namespaces

不确定如何说出这个问题,但问题就在这里。

我设计了一个名称空间:my.foo.bar

在我的一个课程中,我不小心将命名空间命名为my.foo.Bar

我想修复命名空间大写,以便每个人都在同一页面上,但这是一个共享库,我无法负担使用它重新编译所有程序。

那么,有什么我可以创建的,实质上是将my.foo.Bar重定向到my.foo.bar吗?

2 个答案:

答案 0 :(得分:7)

不是全球性的。您可以使用namespace aliases,但仅限于客户端代码。听起来你可能需要做一个突破性的改变。

一种方法,如果它只有一个或两个类,则将它们从my.foo.Bar复制到my.foo.bar,使用Obsolete attribute弃用坏名称空间中的那些,慢慢地将客户转移到正确的客户端。

如果该类是无状态的,那么my.foo.Bar命名空间中的类可以委托给my.foo.bar命名空间中的一个@JohnSaunders建议的那个,但前提是客户端对该类的使用不排除委托(一切都是方法或属性,类的类型不通过反射使用等)。

答案 1 :(得分:6)

您可以做的最好的事情是将错误命名的命名空间中的所有类型都删除,并在正确的命名空间中创建它们的版本。这些可以委托给错误的命名空间版本。