正则表达式更新RaisePropertyChanged

时间:2014-06-10 06:33:09

标签: c# .net regex visual-studio-2013

我有一个WPF应用程序,我正在使用

this.RaisePropertyChanged(() => this.SomeProperty);

我刚刚发现,如果按照

替换上面的表达式会增加性能
this.RaisePropertyChanged(() => "SomeProperty");

我在成千上万的地方使用RaisePropertyChanged,任何人都可以帮我写正则表达式来替换它。

3 个答案:

答案 0 :(得分:1)

这对我有用:

Find what文本框中,放置以下内容:this\.RaisePropertyChanged\(\(\) => this\.(.+?)\);

Replace with文本框中,将其放置在:this.RaisePropertyChanged(() => "$1");

上面的正则表达式将查找此文字:this.RaisePropertyChanged(() => this.<name>并将其替换为this.RaisePropertyChanged(() => "<name>");

答案 1 :(得分:1)

在Visual Studio中,您可以使用内置正则表达式替换它:

this\.RaisePropertyChanged\(\(\) => this.(.*)\);

有了这个:

this.RaisePropertyChanged(() => "$1");

答案 2 :(得分:1)

你去吧

正则表达式找到

this\.RaisePropertyChanged\(\(\) => this\.(?<prop>\w+)\);

替换

this.RaisePropertyChanged(() => "${prop}");

简洁易懂

\w查找单词字符,以便更容易识别变量或属性名称。

还标记了与名称prop的匹配,以便在替换时更容易使用,当您有多个匹配组时,它会更有用。