Uri.MakeRelativeUri Method (Uri)
Determines the difference between two Uri instances.
Assembly: System (in System.dll)
Parameters
- uri
-
Type:
System.Uri
The URI to compare to the current URI.
Return Value
Type: System.UriIf the hostname and scheme of this URI instance and uri are the same, then this method returns a relative Uri that, when appended to the current URI instance, yields uri.
If the hostname or scheme is different, then this method returns a Uri that represents the uri parameter.
| Exception | Condition |
|---|---|
| ArgumentNullException | uri is null. |
| InvalidOperationException | This instance represents a relative URI, and this property is valid only for absolute URIs. |
The following table shows the URI instance, toUri, and the results of calling MakeRelativeUri.
Current URI instance | toUri | Return value |
|---|---|---|
http://www.contoso.com/ | http://www.contoso.com/test/test.htm | test/test.htm |
http://www.contoso.com/test1/ | http://www.contoso.com/ | ../ |
http://www.contoso.com:8000/ | http://www.contoso.com/test/test.htm | http://www.contoso.com/test/test.htm |
http://username@www.contoso.com/ | http://www.contoso.com/test1/test1.txt | test1/test1.txt |
User information, if present in the URI, is ignored.
The following example creates 2 Uri instances. The difference in the path information is written to the console.
Available since 8
.NET Framework
Available since 2.0
Portable Class Library
Supported in: portable .NET platforms
Silverlight
Available since 2.0
Windows Phone Silverlight
Available since 7.0
Windows Phone
Available since 8.1