Uri Construtores

Definição

Inicializa uma nova instância da classe Uri.

Sobrecargas

Uri(String)

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

Uri(SerializationInfo, StreamingContext)

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

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

Inicializa uma nova instância da classe Uri 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 classe Uri com URI especificado. Este construtor permite que você especifique se a cadeia de caracteres do URI é um URI relativo, um URI absoluto ou indeterminado.

Uri(Uri, String)

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

Uri(Uri, Uri)

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

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

Inicializa uma nova instância da classe Uri baseada nos URIs de base e relativos especificados, com controle explícito de escape de caracteres.

Uri(String)

Inicializa uma nova instância da classe Uri com 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 instância de Uri. Observe que um endereço IPv6 no formato de cadeia de caracteres deve estar entre colchetes. Por exemplo, "http://[2607:f8b0:400d:c06::69]".

Exceções

uriString é null.

Observação: no .NET para aplicativos da Microsoft Store ou na Biblioteca de Classes Portátil, verifique a exceção de classe base, FormatException.

uriString está vazio.

- ou -

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

- ou -

uriString contém muitas barras “/”.

- ou -

A senha especificada em uriString não é válida.

- ou -

O nome do host especificado em uriString não é válido.

- ou -

O nome de arquivo especificado em uriString não é válido.

- ou -

O nome de usuário especificado em uriString não é válido.

- ou -

O nome do host ou da autoridade especificado no uriString não pode terminar em barras invertidas.

- ou -

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

- ou -

O comprimento de uriString excede 65.519 caracteres.

- ou -

O comprimento do esquema especificado no uriString excede 1.023 caracteres.

- ou -

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

- ou -

O caminho do MS-DOS especificado em uriString deve começar com c:\\.

Exemplos

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

Uri^ baseUri = gcnew 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.

Este construtor não garante que o Uri faça referência a um recurso acessível.

Esse construtor pressupõe que o string parâmetro faça 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 lançará um UriFormatException.

Aplica-se a

Uri(SerializationInfo, StreamingContext)

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

protected:
 Uri(System::Runtime::Serialization::SerializationInfo ^ serializationInfo, System::Runtime::Serialization::StreamingContext streamingContext);
protected Uri (System.Runtime.Serialization.SerializationInfo serializationInfo, System.Runtime.Serialization.StreamingContext streamingContext);
new Uri : System.Runtime.Serialization.SerializationInfo * System.Runtime.Serialization.StreamingContext -> Uri
Protected Sub New (serializationInfo As SerializationInfo, streamingContext As StreamingContext)

Parâmetros

serializationInfo
SerializationInfo

Uma instância da classe SerializationInfo que contém as informações necessárias para serializar a nova instância de Uri.

streamingContext
StreamingContext

Uma instância da classe StreamingContext que contém a origem do fluxo serializado associado à nova instância de Uri.

Exceções

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

O parâmetro serializationInfo 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 especificada no URI não é válida.

- ou -

O nome do host especificado no URI não é válido.

- ou -

O nome do arquivo especificado no URI não é válido.

- ou -

O nome de usuário especificado no URI não é válido.

- ou -

O nome do host ou da autoridade especificado no URI não pode terminar em barras invertidas.

- ou -

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

- ou -

O tamanho do URI excede 65519 caracteres.

- ou -

O tamanho do esquema especificado no URI excede 1023 caracteres.

- ou -

Há uma cadeia de caracteres inválida no URI.

- ou -

O caminho do MS-DOS especificado no URI deve começar com c:\\.

Comentários

Esse construtor implementa a ISerializable interface para a Uri classe.

Confira também

Aplica-se a

Uri(String, Boolean)

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

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

Cuidado

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

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

public:
 Uri(System::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);
[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("The constructor has been deprecated. Please use new Uri(string). The dontEscape parameter is deprecated and is always false. http://go.microsoft.com/fwlink/?linkid=14202")]
public Uri (string uriString, bool dontEscape);
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")>]
new Uri : string * bool -> Uri
[<System.Obsolete("This constructor has been deprecated; the dontEscape parameter is always false. 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. http://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 instância de Uri. Observe que um endereço IPv6 no formato de cadeia de caracteres deve estar entre colchetes. Por exemplo, "http://[2607:f8b0:400d:c06::69]".

dontEscape
Boolean

true se uriString tiver escape completo; caso contrário, false.

Atributos

Exceções

uriString é null.

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

- ou -

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

- ou -

uriString contém muitas barras “/”.

- ou -

A senha especificada em uriString não é válida.

- ou -

O nome do host especificado em uriString não é válido.

- ou -

O nome de arquivo especificado em uriString não é válido.

- ou -

O nome de usuário especificado em uriString não é válido.

- ou -

O nome do host ou da autoridade especificado no uriString não pode terminar em barras invertidas.

- ou -

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

- ou -

O comprimento de uriString excede 65.519 caracteres.

- ou -

O comprimento do esquema especificado no uriString excede 1.023 caracteres.

- ou -

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

- ou -

O caminho do MS-DOS especificado em uriString deve começar com c:\\.

Exemplos

O exemplo a seguir cria uma Uri instância para o URI http://www.contoso.com/Hello%20World.htm. Como o URI contido é completamente escapado e está em forma canônica, o dontEscape parâmetro pode ser definido como true.

Uri^ myUri = gcnew Uri(  "http://www.contoso.com/Hello%20World.htm",true );
Uri myUri = new Uri("http://www.contoso.com/Hello%20World.htm", true);
let myUri = Uri("http://www.contoso.com/Hello%20World.htm", true)
Dim myUri As New Uri("http://www.contoso.com/Hello%20World.htm", True)

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 quaisquer 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.

Este construtor não garante que o Uri faça referência a um recurso acessível.

Aplica-se a

Uri(String, UriCreationOptions)

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 instância de Uri.

creationOptions
UriCreationOptions

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

Aplica-se a

Uri(String, UriKind)

Inicializa uma nova instância da classe Uri com URI especificado. Este construtor permite que você especifique se a cadeia de caracteres do 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 instância de Uri. Observe que um endereço IPv6 no formato de cadeia de caracteres deve estar entre colchetes. Por exemplo, "http://[2607:f8b0:400d:c06::69]".

uriKind
UriKind

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

Exceções

uriKind é inválido.

uriString é null.

Observação: no .NET para aplicativos da Microsoft Store ou na Biblioteca de Classes Portátil, verifique a exceção de classe base, FormatException.

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 em uriString não está formado corretamente. Consulte CheckSchemeName(String).

- ou -

uriString contém muitas barras “/”.

- ou -

A senha especificada em uriString não é válida.

- ou -

O nome do host especificado em uriString não é válido.

- ou -

O nome de arquivo especificado em uriString não é válido.

- ou -

O nome de usuário especificado em uriString não é válido.

- ou -

O nome do host ou da autoridade especificado no uriString não pode terminar em barras invertidas.

- ou -

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

- ou -

O comprimento de uriString excede 65.519 caracteres.

- ou -

O comprimento do esquema especificado no uriString excede 1.023 caracteres.

- ou -

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

- ou -

O caminho do MS-DOS especificado em uriString deve começar 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.

Aplica-se a

Uri(Uri, String)

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

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 de base.

relativeUri
String

O URI relativo a ser adicionado ao URI de base.

Exceções

baseUri é null.

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

Observação: no .NET para aplicativos da Microsoft Store ou na Biblioteca de Classes Portátil, verifique a exceção de classe base, FormatException.

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

- ou -

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

- ou -

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

- ou -

A senha especificada no URI formado pela combinação de baseUri e relativeUri não é válida.

- ou -

O nome do host especificado no URI formado pela combinação de baseUri e relativeUri não é válido.

- ou -

O nome do arquivo especificado no URI formado pela combinação de baseUri e relativeUri não é válido.

- ou -

O nome de usuário especificado no URI formado pela combinação de baseUri e relativeUri não é válido.

- ou -

O nome do host ou da autoridade especificado no URI formado pela combinação de baseUri e relativeUri não pode terminar em barras invertidas.

- ou -

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

- ou -

O tamanho do URI formado pela combinação de baseUri e relativeUri excede 65.519 caracteres.

- ou -

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

- ou -

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

- ou -

O caminho do MS-DOS especificado em uriString deve começar com c:\\.

Exemplos

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

Uri^ baseUri = gcnew Uri(  "http://www.contoso.com" );
Uri^ myUri = gcnew Uri( baseUri, "catalog/shownew.htm" );
Console::WriteLine( myUri->ToString() );
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 baseUri .relativeUri 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 baseUri relativa for preservada na construção Uri.

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

Este construtor não garante que o Uri faça referência a um recurso acessível.

Aplica-se a

Uri(Uri, Uri)

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

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 Uri absoluto que é a base da nova instância de Uri.

relativeUri
Uri

Uma instância de Uri relativa combinada com baseUri.

Exceções

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

baseUri é null.

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

Observação: no .NET para aplicativos da Microsoft Store ou na Biblioteca de Classes Portátil, verifique a exceção de classe base, FormatException.

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

- ou -

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

- ou -

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

- ou -

A senha especificada no URI formado pela combinação de baseUri e relativeUri não é válida.

- ou -

O nome do host especificado no URI formado pela combinação de baseUri e relativeUri não é válido.

- ou -

O nome do arquivo especificado no URI formado pela combinação de baseUri e relativeUri não é válido.

- ou -

O nome de usuário especificado no URI formado pela combinação de baseUri e relativeUri não é válido.

- ou -

O nome do host ou da autoridade especificado no URI formado pela combinação de baseUri e relativeUri não pode terminar em barras invertidas.

- ou -

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

- ou -

O tamanho do URI formado pela combinação de baseUri e relativeUri excede 65.519 caracteres.

- ou -

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

- ou -

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

- ou -

O caminho do MS-DOS especificado em uriString deve começar 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.
String^ addressString1 = "http://www.contoso.com/";
String^ addressString2 = "catalog/shownew.htm?date=today";
Uri^ absoluteUri = gcnew Uri(addressString1);

// Create a relative Uri from a string.  allowRelative = true to allow for 
// creating a relative Uri.
Uri^ relativeUri = gcnew Uri(addressString2);

// 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 = gcnew Uri( absoluteUri,relativeUri );
Console::WriteLine( combinedUri->AbsoluteUri );
// 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 relativeUrirelativaUri. Se relativeUri for uma instância absoluta Uri (que contém 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

Este construtor não garante que o Uri faça referência a um recurso acessível.

Aplica-se a

Uri(Uri, String, Boolean)

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

This constructor has been deprecated; the dontEscape parameter is always false. 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. http://go.microsoft.com/fwlink/?linkid=14202

Inicializa uma nova instância da classe Uri baseada nos URIs de base e relativos especificados, com controle explícito de escape de caracteres.

public:
 Uri(Uri ^ baseUri, System::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("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("The constructor has been deprecated. Please new Uri(Uri, string). The dontEscape parameter is deprecated and is always false. http://go.microsoft.com/fwlink/?linkid=14202")]
public Uri (Uri baseUri, string relativeUri, bool dontEscape);
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")>]
new Uri : Uri * string * bool -> Uri
[<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("The constructor has been deprecated. Please new Uri(Uri, string). The dontEscape parameter is deprecated and is always false. http://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 de base.

relativeUri
String

O URI relativo a ser adicionado ao URI de base.

dontEscape
Boolean

true se uriString tiver escape completo; caso contrário, false.

Atributos

Exceções

baseUri é null.

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

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

- ou -

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

- ou -

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

- ou -

A senha especificada no URI formado pela combinação de baseUri e relativeUri não é válida.

- ou -

O nome do host especificado no URI formado pela combinação de baseUri e relativeUri não é válido.

- ou -

O nome do arquivo especificado no URI formado pela combinação de baseUri e relativeUri não é válido.

- ou -

O nome de usuário especificado no URI formado pela combinação de baseUri e relativeUri não é válido.

- ou -

O nome do host ou da autoridade especificado no URI formado pela combinação de baseUri e relativeUri não pode terminar em barras invertidas.

- ou -

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

- ou -

O tamanho do URI formado pela combinação de baseUri e relativeUri excede 65.519 caracteres.

- ou -

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

- ou -

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

- ou -

O caminho do MS-DOS especificado em uriString deve começar com c:\\.

Exemplos

O exemplo a seguir cria uma nova instância da Uri classe combinando os URIs http://www.contoso.com relativos e Hello%20World.htm formando um URI absoluto.

Uri^ baseUri = gcnew Uri( "http://www.contoso.com/" );
Uri^ myUri = gcnew Uri( baseUri,"Hello%20World.htm",false );
Uri baseUri = new Uri("http://www.contoso.com");
Uri myUri = new Uri(baseUri, "Hello%20World.htm",false);
let baseUri = Uri "http://www.contoso.com"
let myUri = Uri(baseUri, "Hello%20World.htm", false)
Dim baseUri As New Uri("http://www.contoso.com")
Dim myUri As New Uri(baseUri, "Hello%20World.htm", False)

Comentários

Esse construtor cria uma Uri instância combinando baseUri e relativeUri. Se o URI passado for relativeUri 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 quaisquer 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.

Este construtor não garante que o Uri faça referência a um recurso acessível.

Notas aos Chamadores

Devido a preocupações 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