在我们庞大的代码库中,不幸的是有很多这样的语句:
MessageBox.Show("Hello, " + userName + "!");
显然,这会更好地促进字符串外部化:
MessageBox.Show(String.Format("Hello, {0}!", userName));
是否有任何工具可以自动化这项工作(将字符串连接转换为 String.Format)?
如果没有,我认为有必要找到一个为给定的 C# 源文件构造语法树的解析器,在该树中找到执行字符串连接的表达式(似乎并不容易)并转换找到的出现?
编辑:DevExpress CodeRush 完全符合我的要求 - 非常酷。但不幸的是,它只适用于当前的源文件,我必须点击每一次出现(或者看起来如此)。我想对我所有的源文件进行操作(比如“全部替换”)。