Tôi đang tìm một cách sạch sẽ để kết hợp URI cơ sở tương đối với một đường dẫn tương đối khác. Tôi đã thử những điều sau đây, nhưng Uri(Uri, string)
và UriBuilder(Uri)
yêu cầu tuyệt đối Uris (ném InvalidOperationException: Hoạt động này không được hỗ trợ cho một URI tương đối).Kết hợp base tương đốiUri với đường dẫn tương đối
// 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;
Tôi không muốn làm bất cứ thao tác chuỗi xấu xí để đảm bảo con đường cơ sở kết thúc bằng một dấu gạch chéo vv
Điều này giống như ví dụ thử của tôi 2. Nó ném "InvalidOperationException: Hoạt động này không được hỗ trợ cho một URI tương đối" – jrummell