Я ищу чистый способ объединить относительную базу Uri с другим относительным путем. Я пробовал следующее, но Uri(Uri, string)
и UriBuilder(Uri)
требуют абсолютного Uris (throwing 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;
Я не хочу делать никаких уродливых манипуляций с строкой, чтобы убедиться, что базовый путь заканчивается конечной косой чертой и т.д.