R#可以找到在某个默认参数中显式传递值的方法的所有调用吗?

时间:2016-06-17 18:58:06

标签: resharper

例如,假设我有以下方法:

void f(int x, string y = null)
{ ... }

R#可以帮我查找使用两个显式参数调用f的所有地方吗?

2 个答案:

答案 0 :(得分:3)

我不认为这可以通过标准的查找用法获得,但我可以想到至少有两种方法可以找到使用两个显式参数的所有地方:

删除第二个参数

如果您暂时删除第二个参数,您将获得一个很好的编译错误列表,它会尝试显式使用第二个参数(启用解决方案范围分析)在它们之间导航。

否则(如果由于某种原因你无法修改代码)

使用SSR(结构搜索和替换)

查找

转到 ReSharper - 查找 - 使用模式搜索,并创建以下模式:

$type$.f($args$)

其中$type$表达式占位符(可选地,指定保存方法f的类型) 其中$args$参数占位符,其中限制最少数量的参数设置为2

然后运行搜索,您应该只能看到显式调用:

答案 1 :(得分:2)

这显然取决于使用量,但对于较小的设置,Value Tracking也有帮助。

将插入符号放在可选参数上,然后使用 Ctrl + Alt + Shift + A (默认值快捷方式),然后价值来源