-2

我必须替换下面的表达式:-

public string Body =>
        this._body;

至:

public string Body
      {
        get{return _body;} 
          set{_body = value;}
    }

我正在使用 Notepad++ 查找和替换如下:- 查找 regx:=>\s*.*?; 替换 regx:{get{return\s*.*?;} set{\s*.*? = value;}}

这似乎不起作用并在没有属性名称的情况下错误地替换它,如下所示:-

Public string Body {get{returns*.*?;} set{s*.*? = value;}}

我们如何更改表达式以使用属性名称获得所需的结果?我们也可以做这样的事情Visual Studio吗?谢谢你。

4

2 回答 2

0

这是使用 Npp 完成工作的一种方法:

  • Ctrl+H
  • 找什么:\b(public\s+string\s+Body)\s+=>\s+this\.(\w+);
  • 用。。。来代替:$1 {get{returns $2;} set{$2 = value;}}
  • Replace all
于 2017-02-08T09:21:12.903 回答
0

这适用于 VS2015 中的查找(\bpublic\b[\s\r\n]*\bstring\b[\s\r\n]*\bBody\b([\s|\r\n]*)=>([\s\r\n]*)\bthis\b([\s\r\n]*)\b\._body\b)

我只需使用查找并单击突出显示的区域并将其粘贴到其中,具体取决于发生了多少替换。如果它们具有相同的文件类型 .ext ,您几乎最好编写一个小型控制台应用程序来遍历目录中的所有文件

我喜欢这里的这种方法,您可以更进一步,传递目录并使用Directory.EnumerateFiles()遍历所有匹配的 regx(*).cs 文件

于 2017-02-08T03:37:41.393 回答