如何将一个类移动到另一个包中?

4

在Visual Studio中,我有许多类和用户控件需要移动到另一个命名空间。在eclipse中,我可以通过自动更新所有引用来实现。但是在Visual Studio中,我找不到类似的功能。如何在Visual Studio中实现这一点?


如果您的意思是将文件本身移动到磁盘上的不同目录,那么什么都不会改变,它将编译得很好。否则,请详细说明“移动到其他包”-您具体指的是什么? - Shadow The Spring Wizard
好的,我想我把一个包和另一个命名空间搞混了。例如,我想把一个类从命名空间A移动到命名空间A.B。然后我必须更新其他类中的using语句。 - anon
4个回答

3
如果您是指在程序集之间移动:
对于既有的构建好的代码,您需要添加:
[assembly:TypeForwardedTo(typeof(SomeNamespace.TheControl))]

将代码迁移回原始程序集(不再包含TheControl)。然后CLR会自动为您排序现有的构建代码,而无需更新引用。但是,对于构建代码,您仍需要更新引用;我认为普通的VS没有内置此功能。

2
Visual Studio并没有提供这样的功能。Resharper则提供了此功能。

1

在 VS 中支持重命名以更新引用,但不支持文件或类的移动


1

我推荐使用Resharper。它是一个非常强大的VS重构工具。安装后,VS变得更加易于使用;) 它还有移动类、方法、上移、下移、重命名等工具。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接