Uri Construtores
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Inicializa uma nova instância da classe Uri.
Sobrecargas
Uri(String) |
Inicializa uma nova instância da classe Uri com o URI especificado. |
Uri(SerializationInfo, StreamingContext) |
Obsoleto.
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 classe Uri com o URI especificado e UriCreationOptionsadicionais. |
Uri(String, UriKind) |
Inicializa uma nova instância da classe Uri 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 classe Uri com base no URI base especificado e na cadeia de caracteres de URI relativa. |
Uri(Uri, Uri) |
Inicializa uma nova instância da classe Uri com base na combinação de uma instância de Uri base especificada e uma instância de Uri relativa. |
Uri(Uri, String, Boolean) |
Obsoleto.
Obsoleto.
Obsoleto.
Inicializa uma nova instância da classe Uri 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
Inicializa uma nova instância da classe Uri 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 instância Uri. 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]".
Exceções
uriString
é null
.
Observação: no .NET para aplicativos da Windows Store ou na biblioteca de classes portátil , pegue a exceção de classe base, FormatException, em vez disso.
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 no uriString
não é válida.
-ou-
O nome do host especificado no uriString
não é válido.
-ou-
O nome do arquivo especificado no 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 em uriString
não pode ser encerrado por barra invertida.
-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 65519 caracteres.
-ou-
O comprimento do esquema especificado em uriString
excede 1.023 caracteres.
-ou-
Há uma sequência de caracteres inválida no uriString
.
-ou-
O caminho MS-DOS especificado em uriString
deve começar com c:\\.
Exemplos
O exemplo a seguir cria uma instância de Uri 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 instância Uri 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 o Uri se refira a um recurso acessível.
Esse construtor pressupõe que o parâmetro string
referencia um URI absoluto e é equivalente a chamar o construtor Uri com UriKind definido como Absolute. Se o parâmetro string
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
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 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);
[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);
new Uri : System.Runtime.Serialization.SerializationInfo * System.Runtime.Serialization.StreamingContext -> Uri
[<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
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.
- Atributos
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 ser 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.
-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 deve começar com c:\\.
Comentários
Esse construtor implementa a interface ISerializable para a classe Uri.
Confira também
Aplica-se a
Uri(String, Boolean)
- Origem:
- Uri.cs
- Origem:
- Uri.cs
- Origem:
- Uri.cs
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 Uri. 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
tiver escapado completamente; caso contrário, false
.
- Atributos
Exceções
uriString
é null
.
uriString
está vazio 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 no uriString
não é válida.
-ou-
O nome do host especificado no uriString
não é válido.
-ou-
O nome do arquivo especificado no 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 em uriString
não pode ser encerrado por barra invertida.
-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 65519 caracteres.
-ou-
O comprimento do esquema especificado em uriString
excede 1.023 caracteres.
-ou-
Há uma sequência de caracteres inválida no uriString
.
-ou-
O caminho MS-DOS especificado em uriString
deve começar com c:\\.
Exemplos
O exemplo a seguir cria uma instância de Uri para o URI http://www.contoso.com/Hello%20World.htm
. Como o URI contido é completamente escapado e está em forma canônica, o parâmetro dontEscape
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 instância Uri de uma cadeia de caracteres de URI. Ele analisa o URI e o coloca em formato canônico.
O parâmetro dontEscape
controla se os caracteres reservados são convertidos em sequências de escape. Esse parâmetro deve ser definido como true
somente se você tiver certeza de que todos os caracteres reservados no URI foram escapados. Definir o valor como 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 o Uri se refira a um recurso acessível.
Aplica-se a
Uri(String, UriCreationOptions)
- Origem:
- Uri.cs
- Origem:
- Uri.cs
- Origem:
- Uri.cs
Inicializa uma nova instância da classe Uri com o URI especificado e UriCreationOptionsadicionais.
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 Uri.
- 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
Inicializa uma nova instância da classe Uri 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 instância Uri. 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]".
- uriKind
- UriKind
Especifica se a cadeia de caracteres de URI é um URI relativo, URI absoluto ou indeterminado.
Exceções
uriKind
é inválido.
uriString
é null
.
Observação: no .NET para aplicativos da Windows Store ou na biblioteca de classes portátil , pegue a exceção de classe base, FormatException, em vez disso.
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 no uriString
não é válida.
-ou-
O nome do host especificado no uriString
não é válido.
-ou-
O nome do arquivo especificado no 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 em uriString
não pode ser encerrado por barra invertida.
-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 65519 caracteres.
-ou-
O comprimento do esquema especificado em uriString
excede 1.023 caracteres.
-ou-
Há uma sequência de caracteres inválida no uriString
.
-ou-
O caminho 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 em uriKind
deve corresponder ao tipo de URI passado em uriString
. No entanto, se RelativeOrAbsolute for especificado, a cadeia de caracteres de URI poderá ser relativa ou absoluta.
Aplica-se a
Uri(Uri, String)
- Origem:
- Uri.cs
- Origem:
- Uri.cs
- Origem:
- Uri.cs
Inicializa uma nova instância da classe Uri 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 de Uri absoluta.
Observação: no .NET para aplicativos da Windows Store ou na biblioteca de classes portátil , pegue a exceção de classe base, FormatException, em vez disso.
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 ser encerrado por barra invertida.
-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 comprimento do URI formado pela combinação de baseUri
e relativeUri
excede 65519 caracteres.
-ou-
O comprimento do esquema especificado no URI formado pela combinação de baseUri
e relativeUri
excede 1023 caracteres.
-ou-
Há uma sequência de caracteres inválida no URI formada combinando baseUri
e relativeUri
.
-ou-
O caminho MS-DOS especificado em baseUri
deve começar com c:\\.
Exemplos
O exemplo a seguir cria uma nova instância da classe Uri combinando as URIs relativas http://www.contoso.com
e catalog/shownew.htm
para formar o URI absoluto http://www.contoso.com/catalog/shownew.htm
.
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 instância Uri combinando o baseUri
e o relativeUri
. Se relativeUri
for um URI absoluto (contendo um esquema, um nome de host e, opcionalmente, um número de porta), a instância Uri será criada usando apenas relativeUri
.
Se o baseUri
tiver partes relativas (como /api
), a parte relativa deverá ser encerrada com uma barra (como /api/
), se a parte relativa do baseUri
deve ser preservada no Uriconstruído.
Além disso, se o relativeUri
começar com uma barra, ele substituirá qualquer parte relativa do baseUri
Esse construtor não garante que o Uri se refira a um recurso acessível.
Aplica-se a
Uri(Uri, Uri)
- Origem:
- Uri.cs
- Origem:
- Uri.cs
- Origem:
- Uri.cs
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
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 Windows Store ou na biblioteca de classes portátil , pegue a exceção de classe base, FormatException, em vez disso.
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 ser encerrado por barra invertida.
-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 comprimento do URI formado pela combinação de baseUri
e relativeUri
excede 65519 caracteres.
-ou-
O comprimento do esquema especificado no URI formado pela combinação de baseUri
e relativeUri
excede 1023 caracteres.
-ou-
Há uma sequência de caracteres inválida no URI formada combinando baseUri
e relativeUri
.
-ou-
O caminho MS-DOS especificado em baseUri
deve começar com c:\\.
Exemplos
Este exemplo cria uma instância de Uri absoluta, absoluteUri
e uma instância de Uri relativa, relativeUri
. Uma nova instância de Uri, 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 instância Uri combinando uma instância de Uri absoluta, baseUri
, com uma instância Uri relativa, relativeUri
. Se relativeUri
for uma instância de Uri absoluta (contendo um esquema, um nome de host e, opcionalmente, um número de porta), a instância Uri será criada usando apenas relativeUri
.
Se o baseUri
tiver partes relativas (como /api
), a parte relativa deverá ser encerrada com uma barra (como /api/
), se a parte relativa do baseUri
deve ser preservada no Uriconstruído.
Além disso, se o relativeUri
começar com uma barra, ele substituirá qualquer parte relativa do baseUri
Esse construtor não garante que o Uri se refira a um recurso acessível.
Aplica-se a
Uri(Uri, String, Boolean)
- Origem:
- Uri.cs
- Origem:
- Uri.cs
- Origem:
- Uri.cs
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 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("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 base.
- relativeUri
- String
O URI relativo a ser adicionado ao URI base.
- dontEscape
- Boolean
true
se baseUri
e relativeUri
forem completamente escapadas; 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 ser encerrado por barra invertida.
-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 comprimento do URI formado pela combinação de baseUri
e relativeUri
excede 65519 caracteres.
-ou-
O comprimento do esquema especificado no URI formado pela combinação de baseUri
e relativeUri
excede 1023 caracteres.
-ou-
Há uma sequência de caracteres inválida no URI formada combinando baseUri
e relativeUri
.
-ou-
O caminho MS-DOS especificado em baseUri
deve começar com c:\\.
Exemplos
O exemplo a seguir cria uma nova instância da classe Uri combinando as URIs relativas http://www.contoso.com
e Hello%20World.htm
para formar 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 instância Uri combinando baseUri
e relativeUri
. Se o URI passado em relativeUri
for um URI absoluto (contendo um esquema, um nome de host e, opcionalmente, um número de porta), a instância Uri será criada usando apenas relativeUri
.
O parâmetro dontEscape
controla se os caracteres reservados são convertidos em sequências de escape. Esse parâmetro deve ser definido como true
somente se você tiver certeza de que todos os caracteres reservados no URI foram escapados. Definir o valor como 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 o 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 método IsWellFormedOriginalString() antes de chamar esse construtor.