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

应用建议后,我得到了这个

当我单击编辑模式

您$args$在"搜索和替换"中定义的参数是什么?如果你做到了Identifier,那么你替换应该工作:
查找:
IsNotNull($args$)-这里$args$是一个Identifier
替换:IsNotNull($args$, "$args$ is null")
你应该得到你想要的结果,即IsNotNull(obj, "obj is null").