我有一个用C#编写的课程。该类有两种方法,签名为:
bool Navigate(string url)
bool Navigate(Uri url)
从我收集的内容来看,IronPython运行时应该尝试根据传入的参数选择最佳重载。在我的情况下,我传入一个我知道非空的字符串,但我得到以下异常:
多个目标可以匹配:导航(Uri),导航(str)
看到我的论点是一个明显的字符串,为什么IronPython坚持认为多个目标可以匹配? System.String没有强制转换为System.Uri,因此第二个方法重载不应该是一个可行的选择...
答案 0 :(得分:3)
听起来IronPython决定它可以将字符串转换为Uri
s。也许这是一个“功能”,我不知道。您可以执行以下操作(source):
navigate_string = myObj.Navigate.Overloads[type("")]
navigate_string("asdf")