Resharper R#能否找到在某个默认参数中显式传递值的方法的所有调用?
例如,假设我有以下方法:Resharper R#能否找到在某个默认参数中显式传递值的方法的所有调用?,resharper,Resharper,例如,假设我有以下方法: void f(int x, string y = null) { ... } R#能帮我找到所有使用两个显式参数调用f的地方吗?我不认为通过标准的find用法可以做到这一点,但我可以想出至少两种方法来找到所有使用两个显式参数的地方: 删除第二个参数 如果临时删除第二个参数,将得到一个编译错误列表,其中它试图显式使用第二个参数(启用解决方案范围的分析)在它们之间导航 否则(如果由于某种原因无法修改代码) 使用SSR(结构搜索和替换)查找它。 转到ReSharper-Fi
void f(int x, string y = null)
{ ... }
R#能帮我找到所有使用两个显式参数调用
f
的地方吗?我不认为通过标准的find用法可以做到这一点,但我可以想出至少两种方法来找到所有使用两个显式参数的地方:
删除第二个参数
如果临时删除第二个参数,将得到一个编译错误列表,其中它试图显式使用第二个参数(启用解决方案范围的分析)在它们之间导航
否则(如果由于某种原因无法修改代码)
使用SSR(结构搜索和替换)查找它。
转到ReSharper-Find-Search with Pattern,并创建以下模式:
$type$.f($args$)
其中,$type$
是一个表达式占位符(可选地,指定保存方法f
的类型)
其中,$args$
是一个参数占位符,参数的最小数量限制设置为2
然后运行搜索,您应该能够只看到显式调用:
这显然取决于使用量,但对于较小的组,也有帮助
将插入符号放在可选参数上,然后使用Ctrl+Alt+Shift+A(默认快捷方式),然后使用Value Origin。我通常使用第一种方法,但我更喜欢第二种方法,因为不需要编译代码。我去看看。谢谢。这也是一个很好的解决方案!喜欢价值跟踪功能!