【问题标题】:automated way of finding parameters to abstract?自动查找要抽象的参数的方法?
【发布时间】:2016-09-19 12:10:16
【问题描述】:

假设您的解决方案中有 1000 个方法。您想通过查找具有共同签名的方法并重构它们来进行一些重构。有没有标准化的方法来做到这一点? 如何找到具有共同签名或至少有 2 个参数匹配的方法?

【问题讨论】:

  • 你可以使用ndepend.com然后写一个查询来查找所有包含两个或多个参数的方法。仅供参考,它使用 linq 语法,所以很容易做到这一点

标签: c# .net visual-studio resharper


【解决方案1】:

是的,这是可能的!转到ReSharper - Options - Find - Search with Pattern 并创建一个类似于:

public void $method$($type$ $name$)
{
    $st$
}

再举一个例子:Resharper custom patterns change method name

提示:如果您不想指定确切的方法签名,请尝试Argument Placeholder

编辑:如何在搜索中组合多个模式? 解决方法:逐个测试并保存每个模式。然后转到ReSharper - Options - Code Inspection - Custom Patterns。在这里你应该看到你之前保存的所有模式。将每个模式的严重性(下拉框)设置为错误,然后转到ReSharper - Inspect - Solution Errors window。打开Solution wide analysis,出现的任何模式都会在此窗口中突出显示为错误。

【讨论】:

  • 这太棒了,但我无法让它工作。例如:
  • @l--''''''---------'''''''''''',将name设置为identifier而不是argument.
  • 谢谢。这是结果。我不确定我明白这意味着什么? i.imgur.com/HzoaYMN.png
  • 我想我明白了!假设我想搜索一个 int 和一个字符串,并且我希望它不注意顺序:i.imgur.com/LvZmPNz.png 类似的东西,但我希望它也能找到:i.imgur.com/LwpIZFf.png --- 你看签名反转了?
  • @l--''''''------''''''''''''',据我了解,你找@987654336 @ 陈述。不幸的是,我只知道解决方法:尝试创建两种模式,然后将它们组合在一次搜索中。我已经用详细信息更新了我的答案。
猜你喜欢
  • 2017-10-28
  • 1970-01-01
  • 2011-03-10
  • 2022-12-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多