title: "Cannot resolve method - candidates are" - compilation error
body: <p>Recently , i created new class that suppose to wrap each method i want to use and retry use if it fails.</p>
  
  <p>To make this feature available for various kinds of method from one parameter to five and more, i created some method overloads.</p>
  
  <p>Trying to use this method in some cases gave me the compilation error:
  "Cannot resolve method - candidates are"
  and i wanted to get some advises about ways to handle it.</p>
  
  <p>So, here is an example of two methods:</p>
  
  <pre><code> public static TResult Do&lt;T, TResult&gt;(Func&lt;T, TResult&gt; action, T param,
                                                  RetryIntervals retryInterval, int retryIntervalMultiplier = 0, int retryCount = 3)
  
   public static TResult Do&lt;T, T2, TResult&gt;(Func&lt;T, T2, TResult&gt; action, T param, T2 param2,
                                                      RetryIntervals retryInterval , int retryIntervalMultiplier = 0, int retryCount = 3)
  </code></pre>
  
  <p>If i use this new feature this way: </p>
  
  <pre><code>RetryProcess.Do(CacheManager.ExecuteSet, key, value,RetryProcess.RetryIntervals.TenMilliSeconds);
  </code></pre>
  
  <p>I get the error i mentioned above.</p>
  
  <p>The only solutions i thought about until now are:</p>
  
  <ul>
  <li>Use all the parameters in each call without default parameters (do not like it because i need the default parameters to make the code cleaner).</li>
  <li>Each "Do" method will have different name depend on how many parameters it has (also feels it is not a good solution and miss the overload idea).</li>
  </ul>
  
  <p>Do you have some other ideas for me?</p>