У меня есть класс, который я написал на С#. Класс имеет два метода: подписи:
bool Navigate(string url)
bool Navigate(Uri url)
Из того, что я собираю, предполагается, что среда исполнения IronPython должна попытаться выбрать лучшую перегрузку на основе аргумента переданного аргумента. В моем случае я передаю строку, которая, как я знаю, не имеет значения null, но я получаю следующее исключение:
Несколько целей могут соответствовать: Navigate (Uri), Navigate (str)
Увидев, что мой аргумент является откровенно строкой, почему IronPython настаивает на том, что несколько целей могут совпадать? System.String не передается в System.Uri, и поэтому второй метод перегрузки не должен быть жизнеспособным кандидатом на выбор...