title: Errors accessing .NET class method overloads in IronPython
body: <p>I have a class I've written in C#. The class has two methods, the signatures being:</p>
  
  <pre><code>bool Navigate(string url)
  bool Navigate(Uri url)
  </code></pre>
  
  <p>From what I gather, the IronPython runtime is supposed to try and select the best overload based on the passed-in argument. In my case, I'm passing in a string which I know to be non-null, yet I get the following exception:</p>
  
  <blockquote>
    <p>Multiple targets could match: Navigate(Uri), Navigate(str)</p>
  </blockquote>
  
  <p>Seeing as my argument is blatantly a string, why does IronPython insist that multiple targets could match? System.String does not cast to System.Uri and as such the second method overload should not be a viable candidate for selection...</p>