在IronPython中访问.NET类方法重载的错误

时间:2009-12-30 18:08:13

标签: python ironpython

我有一个用C#编写的课程。该类有两种方法,签名为:

bool Navigate(string url)
bool Navigate(Uri url)

从我收集的内容来看,IronPython运行时应该尝试根据传入的参数选择最佳重载。在我的情况下,我传入一个我知道非空的字符串,但我得到以下异常:

  

多个目标可以匹配:导航(Uri),导航(str)

看到我的论点是一个明显的字符串,为什么IronPython坚持认为多个目标可以匹配? System.String没有强制转换为System.Uri,因此第二个方法重载不应该是一个可行的选择...

1 个答案:

答案 0 :(得分:3)

听起来IronPython决定它可以将字符串转换为Uri s。也许这是一个“功能”,我不知道。您可以执行以下操作(source):

navigate_string = myObj.Navigate.Overloads[type("")]
navigate_string("asdf")