Uri Constructor (Uri, String)
Microsoft Silverlight will reach end of support after October 2021. Learn more.
Initializes a new instance of the Uri class based on the specified base URI and relative URI string.
Namespace: System
Assembly: System (in System.dll)
Syntax
'Declaration
Public Sub New ( _
baseUri As Uri, _
relativeUri As String _
)
public Uri(
Uri baseUri,
string relativeUri
)
Parameters
- baseUri
Type: System.Uri
The base URI.
- relativeUri
Type: System.String
The relative URI to add to the base URI.
Exceptions
Exception | Condition |
---|---|
ArgumentNullException | baseUri is nulla null reference (Nothing in Visual Basic). |
ArgumentOutOfRangeException | baseUri is not an absolute Uri instance. |
UriFormatException | The URI formed by combining baseUri and relativeUri is empty or contains only spaces. -or- The scheme specified in the URI formed by combining baseUri and relativeUri is not valid. -or- The URI formed by combining baseUri and relativeUri contains too many slashes. -or- The password specified in the URI formed by combining baseUri and relativeUri is not valid. -or- The host name specified in the URI formed by combining baseUri and relativeUri is not valid. -or- The file name specified in the URI formed by combining baseUri and relativeUri is not valid. -or- The user name specified in the URI formed by combining baseUri and relativeUri is not valid. -or- The host or authority name specified in the URI formed by combining baseUri and relativeUri cannot be terminated by backslashes. -or- The port number specified in the URI formed by combining baseUri and relativeUri is not valid or cannot be parsed. -or- The length of the URI formed by combining baseUri and relativeUri exceeds 65519 characters. -or- The length of the scheme specified in the URI formed by combining baseUri and relativeUri exceeds 1024 characters. -or- There is an invalid character sequence in the URI formed by combining baseUri and relativeUri. -or- The MS-DOS path specified in uriString must start with c:\\. |
Remarks
This constructor creates a Uri instance by combining the baseUri and the relativeUri. If relativeUri is an absolute URI (containing a scheme, host name, and optionally a port number), the Uri instance is created using only relativeUri.
The string can be poorly formed and can still be used to construct a Uri instance. The Silverlight runtime will try to correct some minor issues with a poorly-formed string when this constructor is called to create a Uri instance.
This constructor allows a Silverlight application to create a Uri instance for many schemes as described in the Scheme property. However, only Uri instances for the UriSchemeHttp or UriSchemeHttps schemes are supported by the WebClient and HTTP classes in the System.Net namespace.
This constructor does not ensure that the Uri refers to an accessible resource.
Silverlight-based applications are cross-platform, so they run in most modern Web browsers, including Apple Safari version 2.0 and later on Apple Mac OS X. However, Uri(Uri, String) does not convert backslashes in the relativeUri parameter to forward slashes in the Uri on Apple Mac OS X.
Examples
The following example creates a new instance of the Uri class by combining the relative URIs https://www.contoso.com and catalog/showew.htm to form the absolute URI https://www.contoso.com/catalog/shownew.htm.
Dim baseUri As New Uri("https://www.contoso.com")
Dim myUri As New Uri(baseUri, "catalog/shownew.htm")
outputBlock.Text &= myUri.ToString()
outputBlock.Text &= vbCrLf
Uri baseUri = new Uri("https://www.contoso.com");
Uri myUri = new Uri(baseUri, "catalog/shownew.htm");
outputBlock.Text += "Uri: ";
outputBlock.Text += myUri.ToString();
outputBlock.Text += "\n";
Version Information
Silverlight
Supported in: 5, 4, 3
Silverlight for Windows Phone
Supported in: Windows Phone OS 7.1, Windows Phone OS 7.0
XNA Framework
Supported in: Xbox 360, Windows Phone OS 7.0
Platforms
For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.