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