Resharper查找模式并替换 - 如何插入字符串

Nas*_*eer 10 c# resharper refactoring automated-refactoring

我们有一个完整性检查方法

void IsNotNull<T>(T obj){...}
Run Code Online (Sandbox Code Playgroud)

调用

IsNotNull(obj); 
Run Code Online (Sandbox Code Playgroud)

我想替换它来调用另一个带有第二个类型字符串参数的重载(消息)

void IsNotNull<T>(T obj, string message){...}
Run Code Online (Sandbox Code Playgroud)

所以我想将调用更改为

IsNotNull(obj, "obj is null");
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用resharper的find模式来实现这一点并替换.

所以我的发现模式是:IsNotNull($args$)- 这很好,它找到方法调用

替换模式:IsNotNull($args$, "$args$ is null") - 这没有做任何事情

我也尝试过这个 IsNotNull($args$, """" + $args$ + """")

--Edited--显示正确措辞(对于参数和标识符)的建议框,但一旦应用它就不同了.我正在使用Resharper 6

在此输入图像描述

应用建议后,我得到了这个 在此输入图像描述

当我单击编辑模式 在此输入图像描述

Iga*_*nik 7

$args$在"搜索和替换"中定义的参数是什么?如果你做到了Identifier,那么你替换应该工作:

查找:IsNotNull($args$)-这里$args$是一个Identifier
替换:IsNotNull($args$, "$args$ is null")

你应该得到你想要的结果,即IsNotNull(obj, "obj is null").