Объединить относительный baseUri с относительным путем

Я ищу чистый способ объединить относительный базовый Uri с другим относительным путем. I Я пробовал следующее, но для Uri (Uri, string) и UriBuilder (Uri) требуется абсолютный URI (выдача InvalidOperationException: эта операция не поддерживается для относительного URI).

// where Settings.Default.ImagesPath is "~/path/to/images"
// attempt 1
_imagePath = new Uri(Settings.Default.ImagesPath, image);

// attempt 2
UriBuilder uriBuilder = new UriBuilder(Settings.Default.ImagesPath);
uriBuilder.Path += image;
_imagePath = uriBuilder.Uri;

Я не хочу делать какие-либо уродливые манипуляции со строкой, чтобы убедиться, что базовый путь заканчивается косой чертой в конце и т. Д.

13
задан jrummell 7 February 2011 в 19:17
поделиться