我有一个类,它有一个我想删除(或设为私有)的无参数构造函数
class C
{
    string A { get; set; }
    int B { get; set; }
    public C() { }    //Problem
    public C(A a, B b)
    {
        A = a;
        B = b;
    }
}
问题是,代码库中充斥着数百个表达式,例如new C {A = a, B = b}, 或new C() { B = b, A = a },在每个可能的变化、字段排序等中(直到今天我才知道括号是可选的)。是否有任何自动修复我的代码以使用 2 参数构造函数的方法?这些更改是微不足道的,但我想如果我必须手动进行,我会发疯的。我的示例有 5 或 6 个参数,并非所有参数都是必需的,等等。
(动机是使类不可变。隐藏无参数构造函数和公共设置器是第一步)
我在正则表达式方面取得了一些成功(Notepad++ 的正则表达式支持似乎在 4 次捕获后停止),但是编写一个复杂的正则表达式来一次修复 6 个项目实际上并不能为我节省很多。