Я ищу чистый способ объединить относительную базу Uri с другим относительным путем. Я пробовал следующее, но Uri(Uri, string)
и UriBuilder(Uri)
требуют абсолютного Uris (throwing InvalidOperationException: эта операция не поддерживается для относительного URI).Объединить относительный baseUri с относительным путем
// 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;
Я не хочу делать какие-либо уродливые манипуляции со строками, чтобы убедиться, что базовый путь заканчивается слешем и т.д.
Это то же, что и в примере с моей попыткой. Он выбрасывает «InvalidOperationException: эта операция не поддерживается для относительного URI» – jrummell