我有一个遗留应用程序,在很多情况下,类使用带有 getXXX() 和 setXXX() 方法对以及支持私有变量的旧式(类似 Java)属性模式,例如:
class Example
{
private int x;
public int getX()
{
return x;
}
public void setX(int x)
{
this.x = x;
}
}
一些类和属性已使用包装 get/set 方法对的 C# 属性进行了修改,如下所示:
public int X
{
get { return getX(); }
set { setX(value); }
}
然而,大多数代码都使用 get/set 对。
我正在寻找如何重构涉及 100 多个类和 500 多个属性的代码的选项,以便它使用标准 C# 属性,并在可能的情况下使用自动属性。例如,上面的类的结果如下:
class Example
{
public int X { get; set; }
}
显然,任何访问类的 get/set 方法的代码现在都将使用该属性。
虽然 Visual Studio 具有快速操作和重构 > 在自动属性和完整属性之间转换选项,但我还没有看到如何将其应用于整个项目/解决方案以及如何使其删除包装属性实现的方法获取/设置方法。
任何工具可以做到这一点的任何帮助将不胜感激。
Visual Studio 有这样的重构: