Самый общий способ сделать объект Ури? - PullRequest
2 голосов
/ 19 мая 2009

Мне нужно преобразовать все следующие формы в объект .NET Uri:

  • "hello.world"
  • ".. \ то \ Somthing"
  • "../ что-то / Somthing / другое"
  • "C: \ autoexec.bat"
  • "http://whatever.com/nevermind.html"
  • более или менее всего, что вы можете ожидать найти в чем-то, строящем локальный или сетевой путь.

Я уже проверил, new Uri("..\somthing\something") и new Uri("../something/somthing/else") не работают. Кроме того, никакая статика Uri, кажется, не для этого.

Какие-нибудь идеи, кроме большого логического дерева и / или регулярных выражений?

1 Ответ

4 голосов
/ 19 мая 2009

Попробуйте следующее

new Uri("../whatever",UriKind.RelativeOrAbsolute);

Без флага RelativeOrAbsolute Uri попытается проанализировать полный абсолютный URI. Добавление флага позволит ему проанализировать любой действительный URI (относительный или абсолютный)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...