Я столкнулся с интересной ситуацией, когда я получаю метод NRE
от Uri.TryCreate
, когда он должен возвращать false
.
Вы можете воспроизвести проблему, как показано ниже:
Uri url;
if (Uri.TryCreate("http:Ç", UriKind.RelativeOrAbsolute, out url))
{
Console.WriteLine("success");
}
Я думаю, что это не удается во время разбора, но когда я пытаюсь "http:A"
, например, он возвращает true
и анализирует его как относительный URL. Даже если сбой при анализе, он должен просто вернуть false
, насколько я понимаю, что может быть проблемой здесь? Это похоже на ошибку в документации по реализации, которая не упоминает об исключении этого метода.
Ошибка возникает в .NET 4.6.1, но не 4.0