将旧式 get/set 方法对自动重构为整个解决方案的真正 C# 属性

问题描述 投票:0回答:1

我有一个遗留应用程序,在很多情况下,类使用带有 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 具有快速操作和重构 > 在自动属性和完整属性之间转换选项,但我还没有看到如何将其应用于整个项目/解决方案以及如何使其删除包装属性实现的方法获取/设置方法。

任何工具可以做到这一点的任何帮助将不胜感激。

c# automated-refactoring
1个回答
0
投票

Visual Studio 有这样的重构

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.