Je cherche une manière propre de combiner un URI de base relatif avec un autre chemin relatif. J'ai essayé le suivant, mais Uri(Uri, string)
et UriBuilder(Uri)
exigent Uris absolu (jetant InvalidOperationException: cette opération n'est pas prise en charge pour un URI relatif).Combiner baseUri relatif avec le chemin relatif
// 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;
Je ne veux pas faire toute manipulation de chaîne laid pour vous assurer que le chemin de base se termine par une barre oblique, etc.
Ceci est le même que mon exemple de tentative 2. Il lève "InvalidOperationException: cette opération n'est pas prise en charge pour un URI relatif" – jrummell