C# Resharper无法检测未使用的递归参数

C# Resharper无法检测未使用的递归参数,c#,recursion,parameters,resharper,unused-variables,C#,Recursion,Parameters,Resharper,Unused Variables,我有下面的C递归函数,它有一个名为format的参数,在递归调用之外从未使用过 public static int MyFunction(int c, bool format = false) { if(....) { MyFunction(c - 1, format); } .... return ...; } 我能让resharper给我一个警告,让它告诉我参数已经死了吗?在我的例子中,我得到了一个错误,因为我忘了将格式传递给子函数。有一个警

我有下面的C递归函数,它有一个名为format的参数,在递归调用之外从未使用过

public static int MyFunction(int c, bool format = false) 
{
   if(....) 
   {
       MyFunction(c - 1, format);
   }
   ....
   return ...;
}

我能让resharper给我一个警告,让它告诉我参数已经死了吗?在我的例子中,我得到了一个错误,因为我忘了将格式传递给子函数。有一个警告可以帮助我不浪费调试时间。

这是一个公共方法,任何引用它所在程序集的代码都可以调用它,因此resharper无法确定它是否未使用,只是当前解决方案中没有任何内容使用它。我不明白为什么resharper不能针对它发出警告,不管它是否公共。因此,我不认为将其设为私有会使Resharper注意到问题所在。@PatriceGahide有趣的是,如果将方法设为私有,则获取的参数格式只传递给自身。我认为问题在于更改公共方法上的签名是一种制动性的更改。基本上,Resharper是说你可以摆脱这个,不,嘿,你为什么不使用这个呢。@juharr确实很有趣。我理解,但我并不完全同意。为了保存API,R甚至不建议查看那个未使用的参数?至于OP的问题,这似乎是不可配置的。如果打开它,解决方案范围的错误分析将对此发出警告。使用“pass-through”代码,您得到的参数仅传递给自身;否则,您将无法使用get参数。