C# - 如何在VS.net中将旧属性转换为速记属性

时间:2011-03-25 15:05:49

标签: c# .net properties

我的遗留代码的属性定义为:

private string name;
public string Name
{
   Get { return name;}
   Set { name = value;}
}

...

有没有办法可以选择一个完整的类并将其转换为新的速记版本?

public string Name { get; set;}

7 个答案:

答案 0 :(得分:5)

就个人而言,我使用的是ReSharper VS插件;它可以检测带有支持字段的基本属性,如下所示,并建议将其设置为自动属性。

答案 1 :(得分:1)

购买或试用ReSharper。这可以一次重构一个两种方式。

答案 2 :(得分:1)

如果您感到非常勇敢,可以使用Ctrl + H(查找和替换)并使用正则表达式查找旧样式属性。

答案 3 :(得分:0)

嗯......没有简单的方法。事实上,如果你使用PropertyChange或DataErrorsChanged,你会希望它们是旧的方式。

答案 4 :(得分:0)

如果您使用ReSharper,它将突出显示您的Name属性,并为您提供“转换为自动属性”选项。选择该选项,它会自动转换代码。

还可以选择执行完整代码清理,按Ctrl + E + C自动在您的班级上实施所有ReSharper建议。真棒!

如果您不熟悉ReSharper,请在此处查看:

http://www.jetbrains.com/resharper/

这是我在设置Visual Studio 2008或2010之后安装的第一件事!

答案 5 :(得分:0)

CodeRush可以一步到一个类中的所有属性

我不确定免费版本是否可以执行此操作,但值得一试。 付费版本绝对可以做到。

答案 6 :(得分:0)

这是我在查找和替换中通常使用的正则表达式:

{public [_:a]+ [_:a]+}\n\t+\{\n.+\n.+\n.+\n.+\n.+\n.+\n.+\n.+\n.+
\1 { get; set; }