如何找到带有params参数的方法的用法,使得参数不为空?

时间:2012-04-25 20:17:15

标签: c# c#-4.0 reflection params il

我有一个方法,其最后一个参数是params string[]。我希望搜索一个程序集,并计算params参数传递的用法数,其中至少有一个值。

这个方法有几百个调用,其中大部分都没有传递给最后一个params参数,所以使用像ReSharper的Find Usages这样的东西来计算那些没有传递任何内容的用法。 params论证不切实际。

我如何使用反射/反汇编来做到这一点?或者,有没有可以做到这一点的工具?

1 个答案:

答案 0 :(得分:6)

一个简单的方法:

  • 添加不带任何参数的重载。
  • 重建 - 新的重载将优先于params一个
  • 使用
  • 使用您通常用于重命名无参数过载的任何重构工具
  • 使用简单的“查找”
  • 计算通话次数
  • 放弃所有代码更改:)