【问题标题】:How to move a class into another package?如何将一个类移动到另一个包中?
【发布时间】:2011-01-06 10:11:50
【问题描述】:

在 Visual Studio 中,我有很多类和用户控件,我必须将它们移到另一个命名空间中。在 Eclipse 中,我可以通过自动更新所有引用来做到这一点。在 Visual Studio 中我找不到类似的功能。这在 Visual Studio 中如何实现?

【问题讨论】:

  • 如果你的意思是将文件本身移动到磁盘上的不同目录,什么都不会改变,它会编译得很好。否则,请详细说明“移至其他包” - 你的意思是什么?
  • 好的,我想我将一个包与不同的命名空间混淆了。例如,我想将一个类从命名空间 A 移动到命名空间 A.B。然后我必须更新其他类中的 using 语句。

标签: c# .net wpf visual-studio eclipse


【解决方案1】:

如果您的意思是在程序集之间移动:

对于现有的构建代码,您应该添加:

[assembly:TypeForwardedTo(typeof(SomeNamespace.TheControl))]

原始程序集(不再包含TheControl)。然后,CLR 将为您整理出现有构建代码的所有内容,而无需更新引用。

但是,对于构建代码,您仍然需要更新引用;我不认为 vanilla VS 内置了这个功能。

【讨论】:

    【解决方案2】:

    Visual Studio 中没有提供此类功能。 Resharper有这样的功能。

    【讨论】:

      【解决方案3】:

      VS 支持重命名以进行参考更新,但不支持文件或类移动

      【讨论】:

        【解决方案4】:

        我推荐Resharper。它是真正强大的重构工具 fos VS。 VS 安装后甚至可以使用;)它具有移动类、方法、上拉、下推、重命名等工具。

        【讨论】:

          猜你喜欢
          • 2017-04-29
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2022-01-10
          • 1970-01-01
          • 2016-06-23
          相关资源
          最近更新 更多