Compartilhar via


Uri Construtores

Definição

Inicializa uma nova instância da classe Uri.

Sobrecargas

Nome Description
Uri(String)

Inicializa uma nova instância da Uri classe com o URI especificado.

Uri(SerializationInfo, StreamingContext)
Obsoleto.

Inicializa uma nova instância da classe das Uri instâncias e SerializationInfo classes StreamingContext especificadas.

Uri(String, Boolean)
Obsoleto.
Obsoleto.
Obsoleto.
Obsoleto.

Inicializa uma nova instância da Uri classe com o URI especificado, com controle explícito de escape de caractere.

Uri(String, UriCreationOptions)

Inicializa uma nova instância da Uri classe com o URI especificado e adicionais UriCreationOptions.

Uri(String, UriKind)

Inicializa uma nova instância da Uri classe com o URI especificado. Esse construtor permite que você especifique se a cadeia de caracteres de URI é um URI relativo, um URI absoluto ou é indeterminado.

Uri(Uri, String)

Inicializa uma nova instância da Uri classe com base no URI base especificado e na cadeia de caracteres de URI relativa.

Uri(Uri, Uri)

Inicializa uma nova instância da Uri classe com base na combinação de uma instância base Uri especificada e de uma instância relativa Uri .

Uri(Uri, String, Boolean)
Obsoleto.
Obsoleto.
Obsoleto.
Obsoleto.

Inicializa uma nova instância da Uri classe com base nas URIs base e relativas especificadas, com controle explícito de escape de caractere.

Uri(String)

Origem:
Uri.cs
Origem:
Uri.cs
Origem:
Uri.cs
Origem:
Uri.cs
Origem:
Uri.cs

Inicializa uma nova instância da Uri classe com o URI especificado.

public:
 Uri(System::String ^ uriString);
public Uri(string uriString);
new Uri : string -> Uri
Public Sub New (uriString As String)

Parâmetros

uriString
String

Uma cadeia de caracteres que identifica o recurso a ser representado pela Uri instância.

Exceções

uriString é null.

uriString está vazio.

-ou-

O esquema especificado uriString não está formado corretamente. Consulte CheckSchemeName(String).

-ou-

uriString contém muitas barras.

-ou-

A senha, o nome do host, o nome de arquivo ou o nome de usuário especificado não uriString é válido.

-ou-

O nome do host ou da autoridade especificado é uriString encerrado por barra invertida.

-ou-

O número da porta especificado não uriString é válido ou não pode ser analisado.

-ou-

O comprimento excede uriString 65519 caracteres (somente .NET 9 e versões anteriores).

-ou-

O comprimento do esquema especificado excede uriString 1.023 caracteres.

-ou-

Há uma sequência de caracteres inválida em uriString.

-ou-

O caminho MS-DOS especificado uriString não começa com c:\\.

Exemplos

O exemplo a seguir cria uma Uri instância com o URI http://www.contoso.com/.

Uri myUri = new Uri("http://www.contoso.com/");
let myUri = Uri "http://www.contoso.com/"
Dim myUri As New Uri("http://www.contoso.com/")

Comentários

Esse construtor cria uma Uri instância de uma cadeia de caracteres de URI. Ele analisa o URI, coloca-o em formato canônico e faz as codificações de escape necessárias.

Esse construtor não garante que ele Uri se refira a um recurso acessível.

Se representar uriString um endereço IPv6, ele deverá estar entre colchetes, por exemplo, "http://[2607:f8b0:400d:c06::69]".

Esse construtor pressupõe que o string parâmetro faz referência a um URI absoluto e é equivalente a chamar o Uri construtor com UriKind definido como Absolute. Se o string parâmetro passado para o construtor for um URI relativo, esse construtor gerará um UriFormatException.

Aplica-se a

Uri(SerializationInfo, StreamingContext)

Origem:
Uri.cs
Origem:
Uri.cs
Origem:
Uri.cs
Origem:
Uri.cs
Origem:
Uri.cs

Cuidado

This API supports obsolete formatter-based serialization. It should not be called or extended by application code.

Inicializa uma nova instância da classe das Uri instâncias e SerializationInfo classes StreamingContext especificadas.

protected:
 Uri(System::Runtime::Serialization::SerializationInfo ^ serializationInfo, System::Runtime::Serialization::StreamingContext streamingContext);
[System.Obsolete("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")]
protected Uri(System.Runtime.Serialization.SerializationInfo serializationInfo, System.Runtime.Serialization.StreamingContext streamingContext);
protected Uri(System.Runtime.Serialization.SerializationInfo serializationInfo, System.Runtime.Serialization.StreamingContext streamingContext);
[<System.Obsolete("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")>]
new Uri : System.Runtime.Serialization.SerializationInfo * System.Runtime.Serialization.StreamingContext -> Uri
new Uri : System.Runtime.Serialization.SerializationInfo * System.Runtime.Serialization.StreamingContext -> Uri
Protected Sub New (serializationInfo As SerializationInfo, streamingContext As StreamingContext)

Parâmetros

serializationInfo
SerializationInfo

As informações necessárias para serializar a nova Uri instância.

streamingContext
StreamingContext

A origem do fluxo serializado associado à nova Uri instância.

Atributos

Exceções

O serializationInfo parâmetro contém um null URI.

O serializationInfo parâmetro contém um URI vazio.

-ou-

O esquema especificado não está formado corretamente. Consulte CheckSchemeName(String).

-ou-

O URI contém muitas barras.

-ou-

A senha, o nome do host, o nome de arquivo ou o nome de usuário especificado no URI não é válido.

-ou-

O nome do host ou da autoridade especificado no URI é encerrado por barra invertida.

-ou-

O número da porta especificado no URI não é válido ou não pode ser analisado.

-ou-

O comprimento do URI excede 65519 caracteres (somente .NET 9 e versões anteriores).

-ou-

O comprimento do esquema especificado no URI excede 1.023 caracteres.

-ou-

Há uma sequência de caracteres inválida no URI.

-ou-

O caminho MS-DOS especificado no URI não começa com c:\\.

Comentários

Esse construtor implementa a ISerializable interface da Uri classe.

Confira também

Aplica-se a

Uri(String, Boolean)

Origem:
Uri.cs
Origem:
Uri.cs
Origem:
Uri.cs
Origem:
Uri.cs
Origem:
Uri.cs

Cuidado

This constructor has been deprecated; the dontEscape parameter is always false. Use Uri(string) instead.

Cuidado

This constructor has been deprecated. Use Uri(string) instead.

Cuidado

The constructor has been deprecated. Please use new Uri(string). The dontEscape parameter is deprecated and is always false. https://go.microsoft.com/fwlink/?linkid=14202

Cuidado

The constructor has been deprecated. Please use new Uri(string). The dontEscape parameter is deprecated and is always false. https://go.microsoft.com/fwlink/?linkid=14202

Inicializa uma nova instância da Uri classe com o URI especificado, com controle explícito de escape de caractere.

public:
 Uri(System::String ^ uriString, bool dontEscape);
[System.Obsolete("This constructor has been deprecated; the dontEscape parameter is always false. Use Uri(string) instead.")]
public Uri(string uriString, bool dontEscape);
[System.Obsolete("This constructor has been deprecated. Use Uri(string) instead.")]
public Uri(string uriString, bool dontEscape);
[System.Obsolete("The constructor has been deprecated. Please use new Uri(string). The dontEscape parameter is deprecated and is always false. https://go.microsoft.com/fwlink/?linkid=14202")]
public Uri(string uriString, bool dontEscape);
public Uri(string uriString, bool dontEscape);
[<System.Obsolete("This constructor has been deprecated; the dontEscape parameter is always false. Use Uri(string) instead.")>]
new Uri : string * bool -> Uri
[<System.Obsolete("This constructor has been deprecated. Use Uri(string) instead.")>]
new Uri : string * bool -> Uri
[<System.Obsolete("The constructor has been deprecated. Please use new Uri(string). The dontEscape parameter is deprecated and is always false. https://go.microsoft.com/fwlink/?linkid=14202")>]
new Uri : string * bool -> Uri
new Uri : string * bool -> Uri
Public Sub New (uriString As String, dontEscape As Boolean)

Parâmetros

uriString
String

Uma cadeia de caracteres que identifica o recurso a ser representado pela Uri instância. Observe que um endereço IPv6 no formulário de cadeia de caracteres deve ser colocado entre colchetes. Por exemplo, "http://[2607:f8b0:400d:c06::69]".

dontEscape
Boolean

true se uriString for completamente escapado; caso contrário, false.

Atributos

Exceções

uriString é null.

uriString está vazio ou contém apenas espaços.

-ou-

O esquema especificado não uriString é válido.

-ou-

uriString contém muitas barras.

-ou-

A senha, o nome do host, o nome de arquivo ou o nome de usuário especificado não uriString é válido.

-ou-

O nome do host ou da autoridade especificado é uriString encerrado por barra invertida.

-ou-

O número da porta especificado não uriString é válido ou não pode ser analisado.

-ou-

O comprimento excede uriString 65519 caracteres (somente .NET 9 e versões anteriores).

-ou-

O comprimento do esquema especificado excede uriString 1.023 caracteres.

-ou-

Há uma sequência de caracteres inválida em uriString.

-ou-

O caminho MS-DOS especificado uriString não começa com c:\\.

Comentários

Esse construtor cria uma Uri instância de uma cadeia de caracteres de URI. Ele analisa o URI e o coloca em formato canônico.

O dontEscape parâmetro controla se os caracteres reservados são convertidos em sequências de escape. Esse parâmetro deve ser definido true apenas se você tiver certeza de que todos os caracteres reservados no URI foram escapados. Definir o valor true para um URI que não foi completamente escapado pode causar um comportamento inesperado. É altamente recomendável que você sempre defina esse parâmetro como false.

Se dontEscape estiver definido como false, o construtor escapará de todos os caracteres reservados verificando se todas as ocorrências de porcentagem (%) são seguidas por uma sequência de escape válida. Se a sequência de caracteres após uma porcentagem não for válida, a porcentagem será substituída por %25.

Esse construtor não garante que ele Uri se refira a um recurso acessível.

Aplica-se a

Uri(String, UriCreationOptions)

Origem:
Uri.cs
Origem:
Uri.cs
Origem:
Uri.cs
Origem:
Uri.cs
Origem:
Uri.cs

Inicializa uma nova instância da Uri classe com o URI especificado e adicionais UriCreationOptions.

public:
 Uri(System::String ^ uriString, UriCreationOptions % creationOptions);
public Uri(string uriString, in UriCreationOptions creationOptions);
new Uri : string * UriCreationOptions -> Uri
Public Sub New (uriString As String, ByRef creationOptions As UriCreationOptions)

Parâmetros

uriString
String

Uma cadeia de caracteres que identifica o recurso a ser representado pela Uri instância.

creationOptions
UriCreationOptions

Opções que controlam como o Uri é criado e se comporta.

Aplica-se a

Uri(String, UriKind)

Origem:
Uri.cs
Origem:
Uri.cs
Origem:
Uri.cs
Origem:
Uri.cs
Origem:
Uri.cs

Inicializa uma nova instância da Uri classe com o URI especificado. Esse construtor permite que você especifique se a cadeia de caracteres de URI é um URI relativo, um URI absoluto ou é indeterminado.

public:
 Uri(System::String ^ uriString, UriKind uriKind);
public Uri(string uriString, UriKind uriKind);
new Uri : string * UriKind -> Uri
Public Sub New (uriString As String, uriKind As UriKind)

Parâmetros

uriString
String

Uma cadeia de caracteres que identifica o recurso a ser representado pela Uri instância.

uriKind
UriKind

Especifica se a cadeia de caracteres de URI é um URI relativo, URI absoluto ou indeterminado.

Exceções

uriKind é inválido.

uriString é null.

uriString contém um URI relativo e uriKind é Absolute.

ou

uriString contém um URI absoluto e uriKind é Relative.

ou

uriString está vazio.

-ou-

O esquema especificado uriString não está formado corretamente. Consulte CheckSchemeName(String).

-ou-

uriString contém muitas barras.

-ou-

A senha, o nome do host, o nome de arquivo ou o nome de usuário especificado não uriString é válido.

-ou-

O nome do host ou da autoridade especificado é uriString encerrado por barra invertida.

-ou-

O número da porta especificado não uriString é válido ou não pode ser analisado.

-ou-

O comprimento excede uriString 65519 caracteres (somente .NET 9 e versões anteriores).

-ou-

O comprimento do esquema especificado excede uriString 1.023 caracteres.

-ou-

Há uma sequência de caracteres inválida em uriString.

-ou-

O caminho MS-DOS especificado uriString não começa com c:\\.

Comentários

URIs relativas e absolutas têm restrições diferentes em seu formato. Por exemplo, um URI relativo não requer um esquema ou uma autoridade. O valor especificado deve uriKind corresponder ao tipo de URI passado.uriString No entanto, se RelativeOrAbsolute for especificado, a cadeia de caracteres de URI poderá ser relativa ou absoluta.

Para uriString, um endereço IPv6 no formulário de cadeia de caracteres deve ser colocado entre colchetes, por exemplo, "http://[2607:f8b0:400d:c06::69]".

Aplica-se a

Uri(Uri, String)

Origem:
Uri.cs
Origem:
Uri.cs
Origem:
Uri.cs
Origem:
Uri.cs
Origem:
Uri.cs

Inicializa uma nova instância da Uri classe com base no URI base especificado e na cadeia de caracteres de URI relativa.

public:
 Uri(Uri ^ baseUri, System::String ^ relativeUri);
public Uri(Uri baseUri, string relativeUri);
public Uri(Uri baseUri, string? relativeUri);
new Uri : Uri * string -> Uri
Public Sub New (baseUri As Uri, relativeUri As String)

Parâmetros

baseUri
Uri

O URI base.

relativeUri
String

O URI relativo a ser adicionado ao URI base.

Exceções

baseUri é null.

baseUri não é uma instância absoluta Uri .

O URI formado pela combinação baseUri e relativeUri está vazio ou contém apenas espaços.

-ou-

O esquema especificado no URI formado pela combinação baseUri e relativeUri não é válido.

-ou-

O URI formado pela combinação baseUri e relativeUri contém muitas barras.

-ou-

A senha, o nome do host, o nome de arquivo ou o nome de usuário especificado no URI formado pela combinação baseUri e relativeUri não é válido.

-ou-

O nome do host ou da autoridade especificado no URI formado pela combinação baseUri e relativeUri é encerrado por barra invertida.

-ou-

O número da porta especificado no URI formado pela combinação baseUri e relativeUri não é válido ou não pode ser analisado.

-ou-

O comprimento do URI formado pela combinação baseUri e relativeUri excede 65519 caracteres (somente versões anteriores e .NET 9).

-ou-

O comprimento do esquema especificado no URI formado pela combinação baseUri e relativeUri excede 1.023 caracteres.

-ou-

Há uma sequência de caracteres inválida no URI formado pela combinação baseUri e relativeUri.

-ou-

O caminho MS-DOS especificado baseUri não começa com c:\\.

Exemplos

O exemplo a seguir cria uma nova instância da Uri classe combinando os URIs http://www.contoso.com relativos e catalog/shownew.htm formando o URI http://www.contoso.com/catalog/shownew.htmabsoluto.

Uri baseUri = new Uri("http://www.contoso.com");
 Uri myUri = new Uri(baseUri, "catalog/shownew.htm");

Console.WriteLine(myUri.ToString());
let baseUri = Uri "http://www.contoso.com"
let myUri = Uri(baseUri, "catalog/shownew.htm")

printfn $"{myUri}"
Dim baseUri As New Uri("http://www.contoso.com")
Dim myUri As New Uri(baseUri, "catalog/shownew.htm")

Console.WriteLine(myUri.ToString())

Comentários

Esse construtor cria uma Uri instância combinando o baseUrirelativeUri. Se relativeUri for um URI absoluto (contendo um esquema, um nome de host e, opcionalmente, um número de porta), a Uri instância será criada usando apenas relativeUri.

Se houver baseUri partes relativas (como /api), a parte relativa deverá ser encerrada com uma barra, (como /api/), se a parte relativa for baseUri preservada na construção Uri.

Além disso, se a relativeUri barra começar, ela substituirá qualquer parte relativa da baseUri

Esse construtor não garante que ele Uri se refira a um recurso acessível.

Aplica-se a

Uri(Uri, Uri)

Origem:
Uri.cs
Origem:
Uri.cs
Origem:
Uri.cs
Origem:
Uri.cs
Origem:
Uri.cs

Inicializa uma nova instância da Uri classe com base na combinação de uma instância base Uri especificada e de uma instância relativa Uri .

public:
 Uri(Uri ^ baseUri, Uri ^ relativeUri);
public Uri(Uri baseUri, Uri relativeUri);
new Uri : Uri * Uri -> Uri
Public Sub New (baseUri As Uri, relativeUri As Uri)

Parâmetros

baseUri
Uri

Um absoluto Uri que é a base para a nova Uri instância.

relativeUri
Uri

Uma instância relativa Uri que é combinada com baseUri.

Exceções

baseUri não é uma instância absoluta Uri .

baseUri é null.

baseUri não é uma instância absoluta Uri .

O URI formado pela combinação baseUri e relativeUri está vazio ou contém apenas espaços.

-ou-

O esquema especificado no URI formado pela combinação baseUri e relativeUri não é válido.

-ou-

O URI formado pela combinação baseUri e relativeUri contém muitas barras.

-ou-

A senha, o nome do host, o nome de arquivo ou o nome de usuário especificado no URI formado pela combinação baseUri e relativeUri não é válido.

-ou-

O nome do host ou da autoridade especificado no URI formado pela combinação baseUri e relativeUri é encerrado por barra invertida.

-ou-

O número da porta especificado no URI formado pela combinação baseUri e relativeUri não é válido ou não pode ser analisado.

-ou-

O comprimento do URI formado pela combinação baseUri e relativeUri excede 65519 caracteres (somente versões anteriores e .NET 9).

-ou-

O comprimento do esquema especificado no URI formado pela combinação baseUri e relativeUri excede 1.023 caracteres.

-ou-

Há uma sequência de caracteres inválida no URI formado pela combinação baseUri e relativeUri.

-ou-

O caminho MS-DOS especificado baseUri não começa com c:\\.

Exemplos

Este exemplo cria uma instância absoluteUriabsoluta Uri e uma instância relativeUrirelativaUri. Uma nova Uri instância, em seguida, combinedUrié criada a partir dessas duas instâncias.

// Create an absolute Uri from a string.
Uri absoluteUri = new Uri("http://www.contoso.com/");

// Create a relative Uri from a string.  allowRelative = true to allow for
// creating a relative Uri.
Uri relativeUri = new Uri("/catalog/shownew.htm?date=today", UriKind.Relative);

// Check whether the new Uri is absolute or relative.
if (!relativeUri.IsAbsoluteUri)
    Console.WriteLine("{0} is a relative Uri.", relativeUri);

// Create a new Uri from an absolute Uri and a relative Uri.
Uri combinedUri = new Uri(absoluteUri, relativeUri);
Console.WriteLine(combinedUri.AbsoluteUri);
// Create an absolute Uri from a string.
let absoluteUri = Uri "http://www.contoso.com/"

// Create a relative Uri from a string.  allowRelative = true to allow for
// creating a relative Uri.
let relativeUri = Uri("/catalog/shownew.htm?date=today", UriKind.Relative)

// Check whether the new Uri is absolute or relative.
if not relativeUri.IsAbsoluteUri then
    printfn $"{relativeUri} is a relative Uri."

// Create a new Uri from an absolute Uri and a relative Uri.
let combinedUri = Uri(absoluteUri, relativeUri)
printfn $"{combinedUri.AbsoluteUri}"
    ' Create an absolute Uri from a string.
    Dim absoluteUri As New Uri("http://www.contoso.com/")
    
    ' Create a relative Uri from a string.  allowRelative = true to allow for 
    ' creating a relative Uri.
    Dim relativeUri As New Uri("/catalog/shownew.htm?date=today")
    
    ' Check whether the new Uri is absolute or relative.
    If Not relativeUri.IsAbsoluteUri Then
        Console.WriteLine("{0} is a relative Uri.", relativeUri)
    End If 
    ' Create a new Uri from an absolute Uri and a relative Uri.
    Dim combinedUri As New Uri(absoluteUri, relativeUri)
    Console.WriteLine(combinedUri.AbsoluteUri)

End Sub

Comentários

Esse construtor cria uma nova Uri instância combinando uma instância absolutaUri, baseUricom uma instância relativaUri. relativeUri Se relativeUri for uma instância absoluta Uri (contendo um esquema, um nome de host e, opcionalmente, um número de porta), a Uri instância será criada usando apenas relativeUri.

Se houver baseUri partes relativas (como /api), a parte relativa deverá ser encerrada com uma barra, (como /api/), se a parte relativa for baseUri preservada na construção Uri.

Além disso, se começar relativeUri com uma barra, ela substituirá qualquer parte relativa do baseUri.

Esse construtor não garante que ele Uri se refira a um recurso acessível.

Aplica-se a

Uri(Uri, String, Boolean)

Origem:
Uri.cs
Origem:
Uri.cs
Origem:
Uri.cs
Origem:
Uri.cs
Origem:
Uri.cs

Cuidado

This constructor has been deprecated; the dontEscape parameter is always false. Use Uri(Uri, string) instead.

Cuidado

This constructor has been deprecated. Use Uri(Uri, string) instead.

Cuidado

The constructor has been deprecated. Please new Uri(Uri, string). The dontEscape parameter is deprecated and is always false. https://go.microsoft.com/fwlink/?linkid=14202

Cuidado

The constructor has been deprecated. Please new Uri(Uri, string). The dontEscape parameter is deprecated and is always false. https://go.microsoft.com/fwlink/?linkid=14202

Inicializa uma nova instância da Uri classe com base nas URIs base e relativas especificadas, com controle explícito de escape de caractere.

public:
 Uri(Uri ^ baseUri, System::String ^ relativeUri, bool dontEscape);
[System.Obsolete("This constructor has been deprecated; the dontEscape parameter is always false. Use Uri(Uri, string) instead.")]
public Uri(Uri baseUri, string? relativeUri, bool dontEscape);
[System.Obsolete("This constructor has been deprecated. Use Uri(Uri, string) instead.")]
public Uri(Uri baseUri, string? relativeUri, bool dontEscape);
[System.Obsolete("The constructor has been deprecated. Please new Uri(Uri, string). The dontEscape parameter is deprecated and is always false. https://go.microsoft.com/fwlink/?linkid=14202")]
public Uri(Uri baseUri, string? relativeUri, bool dontEscape);
[System.Obsolete("The constructor has been deprecated. Please new Uri(Uri, string). The dontEscape parameter is deprecated and is always false. https://go.microsoft.com/fwlink/?linkid=14202")]
public Uri(Uri baseUri, string relativeUri, bool dontEscape);
public Uri(Uri baseUri, string relativeUri, bool dontEscape);
[<System.Obsolete("This constructor has been deprecated; the dontEscape parameter is always false. Use Uri(Uri, string) instead.")>]
new Uri : Uri * string * bool -> Uri
[<System.Obsolete("This constructor has been deprecated. Use Uri(Uri, string) instead.")>]
new Uri : Uri * string * bool -> Uri
[<System.Obsolete("The constructor has been deprecated. Please new Uri(Uri, string). The dontEscape parameter is deprecated and is always false. https://go.microsoft.com/fwlink/?linkid=14202")>]
new Uri : Uri * string * bool -> Uri
new Uri : Uri * string * bool -> Uri
Public Sub New (baseUri As Uri, relativeUri As String, dontEscape As Boolean)

Parâmetros

baseUri
Uri

O URI base.

relativeUri
String

O URI relativo a ser adicionado ao URI base.

dontEscape
Boolean

true se baseUri e relativeUri forem completamente escapados; caso contrário, false.

Atributos

Exceções

baseUri é null.

baseUri não é uma instância absoluta Uri .

O URI formado pela combinação baseUri e relativeUri está vazio ou contém apenas espaços.

-ou-

O esquema especificado no URI formado pela combinação baseUri e relativeUri não é válido.

-ou-

O URI formado pela combinação baseUri e relativeUri contém muitas barras.

-ou-

A senha, o nome do host, o nome de arquivo ou o nome de usuário especificado no URI formado pela combinação baseUri e relativeUri não é válido.

-ou-

O nome do host ou da autoridade especificado no URI formado pela combinação baseUri e relativeUri é encerrado por barra invertida.

-ou-

O número da porta especificado no URI formado pela combinação baseUri e relativeUri não é válido ou não pode ser analisado.

-ou-

O comprimento do URI formado pela combinação baseUri e relativeUri excede 65519 caracteres (somente versões anteriores e .NET 9).

-ou-

O comprimento do esquema especificado no URI formado pela combinação baseUri e relativeUri excede 1.023 caracteres.

-ou-

Há uma sequência de caracteres inválida no URI formado pela combinação baseUri e relativeUri.

-ou-

O caminho MS-DOS especificado baseUri não começa com c:\\.

Comentários

Esse construtor cria uma Uri instância combinando baseUri e relativeUri. Se o URI passado relativeUri for um URI absoluto (contendo um esquema, um nome de host e, opcionalmente, um número de porta), a Uri instância será criada usando apenas relativeUri.

O dontEscape parâmetro controla se os caracteres reservados são convertidos em sequências de escape. Esse parâmetro deve ser definido true apenas se você tiver certeza de que todos os caracteres reservados no URI foram escapados. Definir o valor true para um URI que não foi completamente escapado pode causar um comportamento inesperado. É altamente recomendável que você sempre defina esse parâmetro como false. Se dontEscape estiver definido como false, o construtor escapará de todos os caracteres reservados verificando se todas as ocorrências de porcentagem (%) são seguidas por uma sequência de escape válida. Se a sequência de caracteres após uma porcentagem não for válida, a porcentagem será substituída por %25.

Esse construtor não garante que ele Uri se refira a um recurso acessível.

Notas aos Chamadores

Devido a problemas de segurança, seu aplicativo não deve chamar esse construtor com cadeias de caracteres de URI de fontes não confiáveis e com dontEscape definido como true. Como alternativa, você pode verificar a validade de uma cadeia de caracteres de URI chamando o IsWellFormedOriginalString() método antes de chamar esse construtor.

Aplica-se a