在IronPython中访问.NET类方法重载时出错
我写了一个C#的类,这个类里面有两个方法,它们的定义是:
bool Navigate(string url)
bool Navigate(Uri url)
根据我的理解,IronPython运行时应该会根据传入的参数来选择最合适的方法。在我的例子中,我传入了一个我知道是非空的字符串,但我却遇到了以下异常:
多个目标可能匹配:Navigate(Uri),Navigate(str)
既然我的参数明显是一个字符串,为什么IronPython还要坚持说有多个目标可能匹配呢?System.String不能转换为System.Uri,所以第二个方法的重载不应该是一个合适的选择...
1 个回答
4
听起来IronPython在某种情况下决定可以把字符串转换成Uri
(统一资源标识符)。这可能是它的一个“特性”,我也不太确定。你可以尝试下面这样的做法(来源):
navigate_string = myObj.Navigate.Overloads[type("")]
navigate_string("asdf")