是否可以反转别名ac#namespace?

Iro*_*fin 7 .net c# namespaces

不知道如何表达这个问题,但这是问题所在.

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

在我的一个类中,我不小心命名了命名空间 my.foo.Bar

我想修复命名空间大写,以便每个人都在同一页面上,但这是一个共享库,我不能用这个重新编译所有程序.

那么,有什么我可以创建,实质上,重定向my.foo.Barmy.foo.bar

Chr*_*ain 7

不是全球性的 您可以使用命名空间别名,但仅限于客户端代码.听起来你可能需要改变一下.

一种方法,如果它只有一个或两个类,就是将它们复制my.foo.Barmy.foo.bar,使用Obsolete属性弃用坏名称空间中的那些,并慢慢地将客户端移动到正确的名称.

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


Joh*_*ers 6

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