Compartir a través de


Uri Constructores

Definición

Inicializa una nueva instancia de la clase Uri.

Sobrecargas

Uri(String)

Inicializa una nueva instancia de la clase Uri con el URI especificado.

Uri(SerializationInfo, StreamingContext)
Obsoletos.

Inicializa una nueva instancia de la clase Uri a partir de las instancias especificadas de las clases SerializationInfo y StreamingContext especificadas.

Uri(String, Boolean)
Obsoletos.
Obsoletos.
Obsoletos.

Inicializa una nueva instancia de la clase Uri con el URI especificado, con control explícito de escape de caracteres.

Uri(String, UriCreationOptions)

Inicializa una nueva instancia de la clase Uri con el URI especificado y UriCreationOptionsadicional .

Uri(String, UriKind)

Inicializa una nueva instancia de la clase Uri con el URI especificado. Este constructor permite especificar si la cadena de URI es un URI relativo, un URI absoluto o está indeterminado.

Uri(Uri, String)

Inicializa una nueva instancia de la clase Uri en función del URI base y la cadena de URI relativa especificadas.

Uri(Uri, Uri)

Inicializa una nueva instancia de la clase Uri en función de la combinación de una instancia de Uri base especificada y una instancia de Uri relativa.

Uri(Uri, String, Boolean)
Obsoletos.
Obsoletos.
Obsoletos.

Inicializa una nueva instancia de la clase Uri en función de los URI relativos y base especificados, con control explícito de escape de caracteres.

Uri(String)

Source:
Uri.cs
Source:
Uri.cs
Source:
Uri.cs

Inicializa una nueva instancia de la clase Uri con el 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

Cadena que identifica el recurso que se va a representar mediante la instancia de Uri. Tenga en cuenta que una dirección IPv6 en forma de cadena debe incluirse entre corchetes. Por ejemplo, "http://[2607:f8b0:400d:c06::69]".

Excepciones

uriString es null.

Nota: En el .NET para aplicaciones de la Tienda Windows o la biblioteca de clases portable de , capture la excepción de clase base, FormatException, en su lugar.

uriString está vacío.

-o-

El esquema especificado en uriString no se forma correctamente. Consulte CheckSchemeName(String).

-o-

uriString contiene demasiadas barras diagonales.

-o-

La contraseña especificada en uriString no es válida.

-o-

El nombre de host especificado en uriString no es válido.

-o-

El nombre de archivo especificado en uriString no es válido.

-o-

El nombre de usuario especificado en uriString no es válido.

-o-

El nombre de host o autoridad especificado en uriString no se puede terminar con barras diagonales inversas.

-o-

El número de puerto especificado en uriString no es válido o no se puede analizar.

-o-

La longitud de uriString supera los 65519 caracteres.

-o-

La longitud del esquema especificado en uriString supera los 1023 caracteres.

-o-

Hay una secuencia de caracteres no válida en uriString.

-o-

La ruta de acceso MS-DOS especificada en uriString debe comenzar con c:\\.

Ejemplos

En el ejemplo siguiente se crea una instancia de Uri con el 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/")

Comentarios

Este constructor crea una instancia de Uri a partir de una cadena de URI. Analiza el URI, lo coloca en formato canónico y hace que las codificaciones de escape necesarias.

Este constructor no garantiza que el Uri haga referencia a un recurso accesible.

Este constructor supone que el parámetro string hace referencia a un URI absoluto y es equivalente a llamar al constructor de Uri con UriKind establecido en Absolute. Si el parámetro string pasado al constructor es un URI relativo, este constructor iniciará un UriFormatException.

Se aplica a

Uri(SerializationInfo, StreamingContext)

Source:
Uri.cs
Source:
Uri.cs
Source:
Uri.cs

Precaución

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

Inicializa una nueva instancia de la clase Uri a partir de las instancias especificadas de las clases SerializationInfo y StreamingContext especificadas.

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

Instancia de la clase SerializationInfo que contiene la información necesaria para serializar la nueva instancia de Uri.

streamingContext
StreamingContext

Instancia de la clase StreamingContext que contiene el origen de la secuencia serializada asociada a la nueva instancia de Uri.

Atributos

Excepciones

El parámetro serializationInfo contiene un URI de null.

El parámetro serializationInfo contiene un URI que está vacío.

-o-

El esquema especificado no tiene el formato correcto. Consulte CheckSchemeName(String).

-o-

El URI contiene demasiadas barras diagonales.

-o-

La contraseña especificada en el URI no es válida.

-o-

El nombre de host especificado en el URI no es válido.

-o-

El nombre de archivo especificado en el URI no es válido.

-o-

El nombre de usuario especificado en el URI no es válido.

-o-

El nombre de host o autoridad especificado en el URI no se puede terminar con barras diagonales inversas.

-o-

El número de puerto especificado en el URI no es válido o no se puede analizar.

-o-

La longitud del URI supera los 65519 caracteres.

-o-

La longitud del esquema especificado en el URI supera los 1023 caracteres.

-o-

Hay una secuencia de caracteres no válida en el URI.

-o-

La ruta de acceso MS-DOS especificada en el URI debe comenzar con c:\\.

Comentarios

Este constructor implementa la interfaz ISerializable para la clase Uri.

Consulte también

  • de serialización XML y SOAP

Se aplica a

Uri(String, Boolean)

Source:
Uri.cs
Source:
Uri.cs
Source:
Uri.cs

Precaución

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

Precaución

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

Precaución

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 una nueva instancia de la clase Uri con el URI especificado, con control explícito de escape de caracteres.

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

Cadena que identifica el recurso que se va a representar mediante la instancia de Uri. Tenga en cuenta que una dirección IPv6 en forma de cadena debe incluirse entre corchetes. Por ejemplo, "http://[2607:f8b0:400d:c06::69]".

dontEscape
Boolean

true si uriString es completamente de escape; de lo contrario, false.

Atributos

Excepciones

uriString es null.

uriString está vacío o solo contiene espacios.

-o-

El esquema especificado en uriString no es válido.

-o-

uriString contiene demasiadas barras diagonales.

-o-

La contraseña especificada en uriString no es válida.

-o-

El nombre de host especificado en uriString no es válido.

-o-

El nombre de archivo especificado en uriString no es válido.

-o-

El nombre de usuario especificado en uriString no es válido.

-o-

El nombre de host o autoridad especificado en uriString no se puede terminar con barras diagonales inversas.

-o-

El número de puerto especificado en uriString no es válido o no se puede analizar.

-o-

La longitud de uriString supera los 65519 caracteres.

-o-

La longitud del esquema especificado en uriString supera los 1023 caracteres.

-o-

Hay una secuencia de caracteres no válida en uriString.

-o-

La ruta de acceso MS-DOS especificada en uriString debe comenzar con c:\\.

Ejemplos

En el ejemplo siguiente se crea una instancia de Uri para el URI http://www.contoso.com/Hello%20World.htm. Dado que el URI contenido está completamente con escape y está en forma canónica, el parámetro dontEscape se puede establecer en 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)

Comentarios

Este constructor crea una instancia de Uri a partir de una cadena de URI. Analiza el URI y lo coloca en formato canónico.

El parámetro dontEscape controla si los caracteres reservados se traducen en secuencias de escape. Este parámetro debe establecerse en true solo si está seguro de que todos los caracteres reservados del URI se han escapado. Establecer el valor en true para un URI que no se ha escapado completamente puede provocar un comportamiento inesperado. Se recomienda encarecidamente establecer siempre este parámetro en false.

Si dontEscape se establece en false, el constructor escapa a los caracteres reservados comprobando que todas las apariciones del porcentaje (%) van seguidas de una secuencia de escape válida. Si la secuencia de caracteres que sigue a un porcentaje no es válida, el porcentaje se reemplaza por %25.

Este constructor no garantiza que el Uri haga referencia a un recurso accesible.

Se aplica a

Uri(String, UriCreationOptions)

Source:
Uri.cs
Source:
Uri.cs
Source:
Uri.cs

Inicializa una nueva instancia de la clase Uri con el URI especificado y UriCreationOptionsadicional .

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

Cadena que identifica el recurso que se va a representar mediante la instancia de Uri.

creationOptions
UriCreationOptions

Opciones que controlan cómo se crea y se comporta el Uri.

Se aplica a

Uri(String, UriKind)

Source:
Uri.cs
Source:
Uri.cs
Source:
Uri.cs

Inicializa una nueva instancia de la clase Uri con el URI especificado. Este constructor permite especificar si la cadena de URI es un URI relativo, un URI absoluto o está 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

Cadena que identifica el recurso que se va a representar mediante la instancia de Uri. Tenga en cuenta que una dirección IPv6 en forma de cadena debe incluirse entre corchetes. Por ejemplo, "http://[2607:f8b0:400d:c06::69]".

uriKind
UriKind

Especifica si la cadena de URI es un URI relativo, un URI absoluto o es indeterminado.

Excepciones

uriKind no es válido.

uriString es null.

Nota: En el .NET para aplicaciones de la Tienda Windows o la biblioteca de clases portable de , capture la excepción de clase base, FormatException, en su lugar.

uriString contiene un URI relativo y uriKind es Absolute.

o

uriString contiene un URI absoluto y uriKind es Relative.

o

uriString está vacío.

-o-

El esquema especificado en uriString no se forma correctamente. Consulte CheckSchemeName(String).

-o-

uriString contiene demasiadas barras diagonales.

-o-

La contraseña especificada en uriString no es válida.

-o-

El nombre de host especificado en uriString no es válido.

-o-

El nombre de archivo especificado en uriString no es válido.

-o-

El nombre de usuario especificado en uriString no es válido.

-o-

El nombre de host o autoridad especificado en uriString no se puede terminar con barras diagonales inversas.

-o-

El número de puerto especificado en uriString no es válido o no se puede analizar.

-o-

La longitud de uriString supera los 65519 caracteres.

-o-

La longitud del esquema especificado en uriString supera los 1023 caracteres.

-o-

Hay una secuencia de caracteres no válida en uriString.

-o-

La ruta de acceso MS-DOS especificada en uriString debe comenzar con c:\\.

Comentarios

Los URI relativos y absolutos tienen restricciones diferentes en su formato. Por ejemplo, un URI relativo no requiere un esquema ni una autoridad. El valor especificado en uriKind debe coincidir con el tipo de URI pasado en uriString. Sin embargo, si se especifica RelativeOrAbsolute, la cadena de URI puede ser relativa o absoluta.

Se aplica a

Uri(Uri, String)

Source:
Uri.cs
Source:
Uri.cs
Source:
Uri.cs

Inicializa una nueva instancia de la clase Uri en función del URI base y la cadena de URI relativa especificadas.

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

URI base.

relativeUri
String

URI relativo que se va a agregar al URI base.

Excepciones

baseUri es null.

baseUri no es una instancia absoluta de Uri.

Nota: En el .NET para aplicaciones de la Tienda Windows o la biblioteca de clases portable de , capture la excepción de clase base, FormatException, en su lugar.

El URI formado mediante la combinación de baseUri y relativeUri está vacío o solo contiene espacios.

-o-

El esquema especificado en el URI formado mediante la combinación de baseUri y relativeUri no es válido.

-o-

El URI formado mediante la combinación de baseUri y relativeUri contiene demasiadas barras diagonales.

-o-

La contraseña especificada en el URI formado mediante la combinación de baseUri y relativeUri no es válida.

-o-

El nombre de host especificado en el URI formado mediante la combinación de baseUri y relativeUri no es válido.

-o-

El nombre de archivo especificado en el URI formado mediante la combinación de baseUri y relativeUri no es válido.

-o-

El nombre de usuario especificado en el URI formado mediante la combinación de baseUri y relativeUri no es válido.

-o-

El nombre de host o autoridad especificado en el URI formado mediante la combinación de baseUri y relativeUri no se puede terminar con barras diagonales inversas.

-o-

El número de puerto especificado en el URI formado mediante la combinación de baseUri y relativeUri no es válido o no se puede analizar.

-o-

La longitud del URI formado mediante la combinación de baseUri y relativeUri supera los 65519 caracteres.

-o-

La longitud del esquema especificado en el URI formado mediante la combinación de baseUri y relativeUri supera los 1023 caracteres.

-o-

Hay una secuencia de caracteres no válida en el URI formado mediante la combinación de baseUri y relativeUri.

-o-

La ruta de acceso MS-DOS especificada en baseUri debe comenzar con c:\\.

Ejemplos

En el ejemplo siguiente se crea una nueva instancia de la clase Uri mediante la combinación de los URI relativos http://www.contoso.com y catalog/shownew.htm para formar el 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())

Comentarios

Este constructor crea una instancia de Uri combinando el baseUri y el relativeUri. Si relativeUri es un URI absoluto (que contiene un esquema, un nombre de host y, opcionalmente, un número de puerto), la instancia de Uri se crea con solo relativeUri.

Si el baseUri tiene partes relativas (como /api), la parte relativa debe terminarse con una barra diagonal (como /api/), si la parte relativa de baseUri debe conservarse en el Uriconstruido.

Además, si el relativeUri comienza por una barra diagonal, reemplazará cualquier parte relativa del baseUri

Este constructor no garantiza que el Uri haga referencia a un recurso accesible.

Se aplica a

Uri(Uri, Uri)

Source:
Uri.cs
Source:
Uri.cs
Source:
Uri.cs

Inicializa una nueva instancia de la clase Uri en función de la combinación de una instancia de Uri base especificada y una instancia 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

Una Uri absoluta que es la base de la nueva instancia de Uri.

relativeUri
Uri

Instancia de Uri relativa que se combina con baseUri.

Excepciones

baseUri no es una instancia absoluta de Uri.

baseUri es null.

baseUri no es una instancia absoluta de Uri.

Nota: En el .NET para aplicaciones de la Tienda Windows o la biblioteca de clases portable de , capture la excepción de clase base, FormatException, en su lugar.

El URI formado mediante la combinación de baseUri y relativeUri está vacío o solo contiene espacios.

-o-

El esquema especificado en el URI formado mediante la combinación de baseUri y relativeUri no es válido.

-o-

El URI formado mediante la combinación de baseUri y relativeUri contiene demasiadas barras diagonales.

-o-

La contraseña especificada en el URI formado mediante la combinación de baseUri y relativeUri no es válida.

-o-

El nombre de host especificado en el URI formado mediante la combinación de baseUri y relativeUri no es válido.

-o-

El nombre de archivo especificado en el URI formado mediante la combinación de baseUri y relativeUri no es válido.

-o-

El nombre de usuario especificado en el URI formado mediante la combinación de baseUri y relativeUri no es válido.

-o-

El nombre de host o autoridad especificado en el URI formado mediante la combinación de baseUri y relativeUri no se puede terminar con barras diagonales inversas.

-o-

El número de puerto especificado en el URI formado mediante la combinación de baseUri y relativeUri no es válido o no se puede analizar.

-o-

La longitud del URI formado mediante la combinación de baseUri y relativeUri supera los 65519 caracteres.

-o-

La longitud del esquema especificado en el URI formado mediante la combinación de baseUri y relativeUri supera los 1023 caracteres.

-o-

Hay una secuencia de caracteres no válida en el URI formado mediante la combinación de baseUri y relativeUri.

-o-

La ruta de acceso MS-DOS especificada en baseUri debe comenzar con c:\\.

Ejemplos

En este ejemplo se crea una instancia de Uri absoluta, absoluteUriy una instancia de Uri relativa, relativeUri. A continuación, se crea una nueva instancia de Uri, combinedUri, a partir de estas dos instancias.

// 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

Comentarios

Este constructor crea una nueva instancia de Uri mediante la combinación de una instancia de Uri absoluta, baseUri, con una instancia de Uri relativa, relativeUri. Si relativeUri es una instancia de Uri absoluta (que contiene un esquema, un nombre de host y, opcionalmente, un número de puerto), la instancia de Uri se crea con solo relativeUri.

Si el baseUri tiene partes relativas (como /api), la parte relativa debe terminarse con una barra diagonal (como /api/), si la parte relativa de baseUri debe conservarse en el Uriconstruido.

Además, si el relativeUri comienza por una barra diagonal, reemplazará cualquier parte relativa del baseUri

Este constructor no garantiza que el Uri haga referencia a un recurso accesible.

Se aplica a

Uri(Uri, String, Boolean)

Source:
Uri.cs
Source:
Uri.cs
Source:
Uri.cs

Precaución

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

Precaución

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

Precaución

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 una nueva instancia de la clase Uri en función de los URI relativos y base especificados, con control 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

URI base.

relativeUri
String

URI relativo que se va a agregar al URI base.

dontEscape
Boolean

true si baseUri y relativeUri son completamente escapes; de lo contrario, false.

Atributos

Excepciones

baseUri es null.

baseUri no es una instancia absoluta de Uri.

El URI formado mediante la combinación de baseUri y relativeUri está vacío o solo contiene espacios.

-o-

El esquema especificado en el URI formado mediante la combinación de baseUri y relativeUri no es válido.

-o-

El URI formado mediante la combinación de baseUri y relativeUri contiene demasiadas barras diagonales.

-o-

La contraseña especificada en el URI formado mediante la combinación de baseUri y relativeUri no es válida.

-o-

El nombre de host especificado en el URI formado mediante la combinación de baseUri y relativeUri no es válido.

-o-

El nombre de archivo especificado en el URI formado mediante la combinación de baseUri y relativeUri no es válido.

-o-

El nombre de usuario especificado en el URI formado mediante la combinación de baseUri y relativeUri no es válido.

-o-

El nombre de host o autoridad especificado en el URI formado mediante la combinación de baseUri y relativeUri no se puede terminar con barras diagonales inversas.

-o-

El número de puerto especificado en el URI formado mediante la combinación de baseUri y relativeUri no es válido o no se puede analizar.

-o-

La longitud del URI formado mediante la combinación de baseUri y relativeUri supera los 65519 caracteres.

-o-

La longitud del esquema especificado en el URI formado mediante la combinación de baseUri y relativeUri supera los 1023 caracteres.

-o-

Hay una secuencia de caracteres no válida en el URI formado mediante la combinación de baseUri y relativeUri.

-o-

La ruta de acceso MS-DOS especificada en baseUri debe comenzar con c:\\.

Ejemplos

En el ejemplo siguiente se crea una nueva instancia de la clase Uri mediante la combinación de los URI relativos http://www.contoso.com y Hello%20World.htm para formar un 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)

Comentarios

Este constructor crea una instancia de Uri mediante la combinación de baseUri y relativeUri. Si el URI pasado en relativeUri es un URI absoluto (que contiene un esquema, un nombre de host y, opcionalmente, un número de puerto), la instancia de Uri se crea con solo relativeUri.

El parámetro dontEscape controla si los caracteres reservados se traducen en secuencias de escape. Este parámetro debe establecerse en true solo si está seguro de que todos los caracteres reservados del URI se han escapado. Establecer el valor en true para un URI que no se ha escapado completamente puede provocar un comportamiento inesperado. Se recomienda encarecidamente establecer siempre este parámetro en false. Si dontEscape se establece en false, el constructor escapa a los caracteres reservados comprobando que todas las apariciones del porcentaje (%) van seguidas de una secuencia de escape válida. Si la secuencia de caracteres que sigue a un porcentaje no es válida, el porcentaje se reemplaza por %25.

Este constructor no garantiza que el Uri haga referencia a un recurso accesible.

Notas a los autores de las llamadas

Debido a problemas de seguridad, la aplicación no debe llamar a este constructor con cadenas de URI de orígenes que no son de confianza y con dontEscape establecido en true. Como alternativa, puede comprobar si hay una cadena de URI válida llamando al método IsWellFormedOriginalString() antes de llamar a este constructor.

Se aplica a