Uri Konstruktory

Definice

Inicializuje novou instanci Uri třídy.

Přetížení

Uri(String)

Inicializuje novou instanci Uri třídy se zadaným identifikátorem URI.

Uri(SerializationInfo, StreamingContext)

Inicializuje novou instanci Uri třídy ze zadaných SerializationInfo instancí a StreamingContext tříd.

Uri(String, Boolean)
Zastaralé.
Zastaralé.
Zastaralé.

Inicializuje novou instanci Uri třídy se zadaným identifikátorem URI s explicitním řízením znakového úniku.

Uri(String, UriCreationOptions)

Inicializuje novou instanci Uri třídy se zadaným identifikátorem URI a další UriCreationOptions.

Uri(String, UriKind)

Inicializuje novou instanci Uri třídy se zadaným identifikátorem URI. Tento konstruktor umožňuje určit, jestli je řetězec identifikátoru URI relativní identifikátor URI, absolutní identifikátor URI nebo je nedeterminovat.

Uri(Uri, String)

Inicializuje novou instanci Uri třídy na základě zadaného základního identifikátoru URI a relativního řetězce identifikátoru URI.

Uri(Uri, Uri)

Inicializuje novou instanci Uri třídy na základě kombinace zadané základní Uri instance a relativní Uri instance.

Uri(Uri, String, Boolean)
Zastaralé.
Zastaralé.
Zastaralé.

Inicializuje novou instanci Uri třídy na základě zadané základní a relativní identifikátory URI s explicitním řízením znaku escaping.

Uri(String)

Inicializuje novou instanci Uri třídy se zadaným identifikátorem URI.

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

Parametry

uriString
String

Řetězec, který identifikuje prostředek, který má být reprezentován Uri instancí. Všimněte si, že adresa IPv6 ve formuláři řetězce musí být uzavřena v závorkách. Například "http://[2607:f8b0:400d:c06::69]".

Výjimky

uriString je null.

Poznámka: V rozhraní .NET pro aplikace Windows Store nebo v knihovně přenosných tříd zachyťte výjimku základní třídy místo FormatExceptiontoho.

uriString je prázdný.

-nebo-

Schéma zadané v uriString souboru není správně vytvořeno. Viz třída CheckSchemeName(String).

-nebo-

uriString obsahuje příliš mnoho lomítek.

-nebo-

Heslo zadané v uriString souboru není platné.

-nebo-

Název hostitele zadaný v uriString souboru není platný.

-nebo-

Název souboru zadaný v uriString souboru není platný.

-nebo-

Zadané uživatelské jméno uriString není platné.

-nebo-

Název hostitele nebo autority zadaný v uriString seznamu nelze ukončit zpětným lomítkem.

-nebo-

Zadané číslo uriString portu není platné nebo nelze analyzovat.

-nebo-

Délka uriString překračuje 65519 znaků.

-nebo-

Délka schématu zadaného ve uriString více než 1023 znacích.

-nebo-

V souboru je neplatná sekvence uriStringznaků .

-nebo-

Cesta MS-DOS zadaná v uriString souboru musí začínat c:\\.

Příklady

Následující příklad vytvoří Uri instanci s identifikátorem 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/")

Poznámky

Tento konstruktor vytvoří Uri instanci z řetězce identifikátoru URI. Parsuje identifikátor URI, umístí ho do kanonického formátu a vytvoří všechny požadované řídicí kódování.

Tento konstruktor nezajistí, že Uri odkazuje na přístupný prostředek.

Tento konstruktor předpokládá, že string parametr odkazuje na absolutní identifikátor URI a je ekvivalentní volání Uri konstruktoru s nastavenou UriKind na Absolutehodnotu . string Pokud je parametr předaný konstruktoru relativní identifikátor URI, tento konstruktor vyvolá UriFormatExceptionchybu .

Platí pro

Uri(SerializationInfo, StreamingContext)

Inicializuje novou instanci Uri třídy ze zadaných SerializationInfo instancí a StreamingContext tříd.

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)

Parametry

serializationInfo
SerializationInfo

Instance SerializationInfo třídy obsahující informace potřebné k serializaci nové Uri instance.

streamingContext
StreamingContext

Instance StreamingContext třídy obsahující zdroj serializovaného streamu přidruženého k nové Uri instanci.

Výjimky

Parametr serializationInfo obsahuje null identifikátor URI.

Parametr serializationInfo obsahuje identifikátor URI, který je prázdný.

-nebo-

Zadané schéma není správně vytvořeno. Viz třída CheckSchemeName(String).

-nebo-

Identifikátor URI obsahuje příliš mnoho lomítek.

-nebo-

Heslo zadané v identifikátoru URI není platné.

-nebo-

Název hostitele zadaný v identifikátoru URI není platný.

-nebo-

Název souboru zadaný v identifikátoru URI není platný.

-nebo-

Uživatelské jméno zadané v identifikátoru URI není platné.

-nebo-

Název hostitele nebo autority zadaný v identifikátoru URI nelze ukončit zpětnými lomítky.

-nebo-

Číslo portu zadaného v identifikátoru URI není platné nebo nelze analyzovat.

-nebo-

Délka identifikátoru URI překračuje 65519 znaků.

-nebo-

Délka schématu zadaného v identifikátoru URI překračuje 1023 znaků.

-nebo-

Identifikátor URI obsahuje neplatnou posloupnost znaků.

-nebo-

Cesta MS-DOS zadaná v identifikátoru URI musí začínat c:\\.

Poznámky

Tento konstruktor implementuje ISerializable rozhraní pro Uri třídu.

Viz také

Platí pro

Uri(String, Boolean)

Upozorně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

Upozornění

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

Upozorně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

Inicializuje novou instanci Uri třídy se zadaným identifikátorem URI s explicitním řízením znakového úniku.

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)

Parametry

uriString
String

Řetězec, který identifikuje prostředek, který má být reprezentován Uri instancí. Všimněte si, že adresa IPv6 ve formuláři řetězce musí být uzavřena v závorkách. Například "http://[2607:f8b0:400d:c06::69]".

dontEscape
Boolean

true je-li uriString zcela utekl; jinak , false.

Atributy

Výjimky

uriString je null.

uriString je prázdný nebo obsahuje pouze mezery.

-nebo-

Schéma zadané v uriString souboru není platné.

-nebo-

uriString obsahuje příliš mnoho lomítek.

-nebo-

Heslo zadané v uriString souboru není platné.

-nebo-

Název hostitele zadaný v uriString souboru není platný.

-nebo-

Název souboru zadaný v uriString souboru není platný.

-nebo-

Zadané uživatelské jméno uriString není platné.

-nebo-

Název hostitele nebo autority zadaný v uriString seznamu nelze ukončit zpětným lomítkem.

-nebo-

Zadané číslo uriString portu není platné nebo nelze analyzovat.

-nebo-

Délka uriString překračuje 65519 znaků.

-nebo-

Délka schématu zadaného ve uriString více než 1023 znacích.

-nebo-

V souboru je neplatná sekvence uriStringznaků .

-nebo-

Cesta MS-DOS zadaná v uriString souboru musí začínat c:\\.

Příklady

Následující příklad vytvoří Uri instanci pro identifikátor URI http://www.contoso.com/Hello%20World.htm. Vzhledem k tomu, že obsažený identifikátor URI je zcela uniknut a je v kanonickém formátu, dontEscape lze parametr nastavit na 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)

Poznámky

Tento konstruktor vytvoří Uri instanci z řetězce identifikátoru URI. Parsuje identifikátor URI a vloží ho do kanonického formátu.

Parametr dontEscape určuje, jestli se rezervované znaky překládají do řídicích sekvencí. Tento parametr by měl být nastaven pouze true v případě, že jste si jisti, že všechny rezervované znaky v identifikátoru URI byly řídicí. Nastavení hodnoty true pro identifikátor URI, který nebyl zcela řídicí, může způsobit neočekávané chování. Důrazně doporučujeme, abyste tento parametr vždy nastavili na false.

Pokud dontEscape je nastavena na false, konstruktor ukazuje všechny rezervované znaky tím, že zkontroluje, jestli jsou všechny výskyty procent (%) následované platnou řídicí sekvencí. Pokud sekvence znaků za procentem není platná, nahradí se procento %25.

Tento konstruktor nezajistí, že Uri odkazuje na přístupný prostředek.

Platí pro

Uri(String, UriCreationOptions)

Inicializuje novou instanci Uri třídy se zadaným identifikátorem URI a další 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)

Parametry

uriString
String

Řetězec, který identifikuje prostředek, který má být reprezentován Uri instancí.

creationOptions
UriCreationOptions

Možnosti, které řídí způsob Uri vytvoření a chování.

Platí pro

Uri(String, UriKind)

Inicializuje novou instanci Uri třídy se zadaným identifikátorem URI. Tento konstruktor umožňuje určit, jestli je řetězec identifikátoru URI relativní identifikátor URI, absolutní identifikátor URI nebo je nedeterminovat.

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)

Parametry

uriString
String

Řetězec, který identifikuje prostředek, který má být reprezentován Uri instancí. Všimněte si, že adresa IPv6 ve formuláři řetězce musí být uzavřena v závorkách. Například "http://[2607:f8b0:400d:c06::69]".

uriKind
UriKind

Určuje, zda je řetězec identifikátoru URI relativní identifikátor URI, absolutní identifikátor URI nebo je nedeterminovat.

Výjimky

Formát uriKind je neplatný.

uriString je null.

Poznámka: V rozhraní .NET pro aplikace Windows Store nebo v knihovně přenosných tříd zachyťte výjimku základní třídy místo FormatExceptiontoho.

uriString obsahuje relativní identifikátor URI a uriKind je Absolute.

nebo

uriString obsahuje absolutní identifikátor URI a uriKind je Relative.

nebo

uriString je prázdný.

-nebo-

Schéma zadané v uriString souboru není správně vytvořeno. Viz třída CheckSchemeName(String).

-nebo-

uriString obsahuje příliš mnoho lomítek.

-nebo-

Heslo zadané v uriString souboru není platné.

-nebo-

Název hostitele zadaný v uriString souboru není platný.

-nebo-

Název souboru zadaný v uriString souboru není platný.

-nebo-

Zadané uživatelské jméno uriString není platné.

-nebo-

Název hostitele nebo autority zadaný v uriString seznamu nelze ukončit zpětným lomítkem.

-nebo-

Zadané číslo uriString portu není platné nebo nelze analyzovat.

-nebo-

Délka uriString překračuje 65519 znaků.

-nebo-

Délka schématu zadaného ve uriString více než 1023 znacích.

-nebo-

V souboru je neplatná sekvence uriStringznaků .

-nebo-

Cesta MS-DOS zadaná v uriString souboru musí začínat c:\\.

Poznámky

Relativní a absolutní identifikátory URI mají různá omezení jejich formátu. Například relativní identifikátor URI nevyžaduje schéma ani autoritu. Hodnota, kterou zadáte, uriKind musí odpovídat typu identifikátoru URI předaného uriString. Pokud RelativeOrAbsolute je však zadán, může být řetězec identifikátoru URI relativní nebo absolutní.

Platí pro

Uri(Uri, String)

Inicializuje novou instanci Uri třídy na základě zadaného základního identifikátoru URI a relativního řetězce identifikátoru URI.

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)

Parametry

baseUri
Uri

Základní identifikátor URI.

relativeUri
String

Relativní identifikátor URI, který se má přidat do základního identifikátoru URI.

Výjimky

baseUri je null.

baseUri není absolutní Uri instance.

Poznámka: V rozhraní .NET pro aplikace Windows Store nebo v knihovně přenosných tříd zachyťte výjimku základní třídy místo FormatExceptiontoho.

Identifikátor URI vytvořený kombinací baseUri a relativeUri je prázdný nebo obsahuje pouze mezery.

-nebo-

Schéma zadané v identifikátoru URI vytvořeném kombinací baseUri a relativeUri není platné.

-nebo-

Identifikátor URI vytvořený kombinací baseUri a relativeUri obsahuje příliš mnoho lomítek.

-nebo-

Heslo zadané v identifikátoru URI vytvořeném kombinací baseUri a relativeUri není platné.

-nebo-

Název hostitele zadaný v identifikátoru URI vytvořený kombinací baseUri a relativeUri není platný.

-nebo-

Název souboru zadaný v identifikátoru URI vytvořený kombinací baseUri a relativeUri není platný.

-nebo-

Uživatelské jméno zadané v identifikátoru URI vytvořeném kombinací baseUri a relativeUri není platné.

-nebo-

Název hostitele nebo autority zadaný v identifikátoru URI vytvořený kombinací baseUri a relativeUri nelze ho ukončit zpětnými lomítky.

-nebo-

Číslo portu zadaného v identifikátoru URI vytvořeném kombinací baseUri a relativeUri není platné nebo nelze analyzovat.

-nebo-

Délka identifikátoru URI vytvořená kombinací baseUri a relativeUri překračuje 65519 znaků.

-nebo-

Délka schématu zadaného v identifikátoru URI tvořeného kombinací baseUri a relativeUri překračuje 1023 znaků.

-nebo-

V identifikátoru URI je neplatná sekvence znaků vytvořená kombinací baseUri a relativeUri.

-nebo-

Cesta MS-DOS zadaná v uriString souboru musí začínat c:\\.

Příklady

Následující příklad vytvoří novou instanci Uri třídy kombinací relativních identifikátorů http://www.contoso.com URI a catalog/shownew.htm vytvoření absolutního identifikátoru URI 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())

Poznámky

Tento konstruktor vytvoří Uri instanci kombinováním a baseUri relativeUri. Pokud relativeUri je absolutní identifikátor URI (obsahující schéma, název hostitele a volitelně číslo portu), Uri instance se vytvoří pouze relativeUripomocí .

baseUri Pokud má relativní části (například/api), musí být relativní část ukončena lomítkem (například/api/), pokud je relativní část baseUri zachována v konstrukce Uri.

relativeUri Pokud navíc začíná lomítkem, nahradí se jakákoli relativní částbaseUri

Tento konstruktor nezajistí, že Uri odkazuje na přístupný prostředek.

Platí pro

Uri(Uri, Uri)

Inicializuje novou instanci Uri třídy na základě kombinace zadané základní Uri instance a relativní Uri instance.

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)

Parametry

baseUri
Uri

Absolutní Uri hodnota, která je základem nové Uri instance.

relativeUri
Uri

Relativní Uri instance, která je kombinována s baseUri.

Výjimky

baseUri není absolutní Uri instancí.

baseUri je null.

baseUri není absolutní Uri instancí.

Poznámka: V .NET pro aplikace Windows Store nebo přenosné knihovny tříd zachyťte výjimku základní třídy , FormatExceptionmísto toho.

Identifikátor URI vytvořený kombinací baseUri a relativeUri je prázdný nebo obsahuje pouze mezery.

-nebo-

Schéma zadané v identifikátoru URI vytvořené kombinací baseUri a relativeUri není platné.

-nebo-

Identifikátor URI vytvořený kombinací baseUri a relativeUri obsahuje příliš mnoho lomítek.

-nebo-

Heslo zadané v identifikátoru URI vytvořené kombinací baseUri a relativeUri není platné.

-nebo-

Název hostitele zadaný v identifikátoru URI vytvořený kombinací baseUri a relativeUri není platný.

-nebo-

Název souboru zadaný v identifikátoru URI vytvořený kombinací baseUri a relativeUri není platný.

-nebo-

Uživatelské jméno zadané v identifikátoru URI vytvořené kombinací baseUri a relativeUri není platné.

-nebo-

Název hostitele nebo autority zadaný v identifikátoru URI, který je tvořen kombinací baseUri a relativeUri nelze ho ukončit zpětnými lomítky.

-nebo-

Číslo portu zadaného v identifikátoru URI vytvořeném kombinací baseUri a relativeUri není platné nebo nelze analyzovat.

-nebo-

Délka identifikátoru URI vytvořená kombinací baseUri a relativeUri překračuje 65519 znaků.

-nebo-

Délka schématu zadaného v identifikátoru URI tvořeného kombinací baseUri a relativeUri překračuje 1023 znaků.

-nebo-

V identifikátoru URI je neplatná sekvence znaků vytvořená kombinací baseUri a relativeUri.

-nebo-

Cesta MS-DOS zadaná v uriString souboru musí začínat c:\\.

Příklady

Tento příklad vytvoří absolutní Uri instanci absoluteUria relativní Uri instanci. relativeUri Z těchto dvou instancí se pak vytvoří nová Uri instance combinedUri.

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

Poznámky

Tento konstruktor vytvoří novou Uri instanci kombinací absolutní Uri instance , baseUris relativní Uri instancí, relativeUri. Pokud relativeUri je absolutní Uri instance (obsahující schéma, název hostitele a volitelně číslo portu), Uri instance se vytvoří pouze relativeUripomocí .

baseUri Pokud má relativní části (například /api), musí být relativní část ukončena lomítkem (například/api/), pokud je relativní část baseUri zachována ve vytvořeném objektu Uri.

relativeUri Pokud navíc začíná lomítkem, nahradí se jakákoli relativní částbaseUri

Tento konstruktor nezajistí, že Uri odkazuje na přístupný prostředek.

Platí pro

Uri(Uri, String, Boolean)

Upozorně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

Upozornění

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

Upozorně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

Inicializuje novou instanci Uri třídy na základě zadané základní a relativní identifikátory URI s explicitním řízením znaku escaping.

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)

Parametry

baseUri
Uri

Základní identifikátor URI.

relativeUri
String

Relativní identifikátor URI, který chcete přidat do základního identifikátoru URI.

dontEscape
Boolean

true je-li uriString zcela uniknut; v opačném případě false.

Atributy

Výjimky

baseUri je null.

baseUri není absolutní Uri instancí.

Identifikátor URI vytvořený kombinací baseUri a relativeUri je prázdný nebo obsahuje pouze mezery.

-nebo-

Schéma zadané v identifikátoru URI vytvořené kombinací baseUri a relativeUri není platné.

-nebo-

Identifikátor URI vytvořený kombinací baseUri a relativeUri obsahuje příliš mnoho lomítek.

-nebo-

Heslo zadané v identifikátoru URI vytvořené kombinací baseUri a relativeUri není platné.

-nebo-

Název hostitele zadaný v identifikátoru URI vytvořený kombinací baseUri a relativeUri není platný.

-nebo-

Název souboru zadaný v identifikátoru URI vytvořený kombinací baseUri a relativeUri není platný.

-nebo-

Uživatelské jméno zadané v identifikátoru URI vytvořené kombinací baseUri a relativeUri není platné.

-nebo-

Název hostitele nebo autority zadaný v identifikátoru URI, který je tvořen kombinací baseUri a relativeUri nelze ho ukončit zpětnými lomítky.

-nebo-

Číslo portu zadaného v identifikátoru URI vytvořeném kombinací baseUri a relativeUri není platné nebo nelze analyzovat.

-nebo-

Délka identifikátoru URI vytvořená kombinací baseUri a relativeUri překračuje 65519 znaků.

-nebo-

Délka schématu zadaného v identifikátoru URI tvořeného kombinací baseUri a relativeUri překračuje 1023 znaků.

-nebo-

V identifikátoru URI je neplatná sekvence znaků vytvořená kombinací baseUri a relativeUri.

-nebo-

Cesta MS-DOS zadaná v uriString souboru musí začínat c:\\.

Příklady

Následující příklad vytvoří novou instanci Uri třídy tím, že zkombinuje relativní identifikátory http://www.contoso.com URI a Hello%20World.htm vytvoří absolutní identifikátor URI.

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)

Poznámky

Tento konstruktor vytvoří Uri instanci kombinací baseUri a relativeUri. Pokud je předaný relativeUri identifikátor URI absolutní identifikátor URI (obsahující schéma, název hostitele a volitelně číslo portu), Uri vytvoří se instance pouze relativeUripomocí .

Parametr dontEscape určuje, jestli jsou rezervované znaky přeloženy do řídicích sekvencí. Tento parametr by měl být nastaven pouze true v případě, že jste si jisti, že všechny rezervované znaky v identifikátoru URI byly řídicí. Nastavení hodnoty pro true identifikátor URI, který nebyl zcela řídicí, může způsobit neočekávané chování. Důrazně doporučujeme, abyste tento parametr vždy nastavili na false. Pokud dontEscape je nastavena na falsehodnotu , konstruktor ukazuje všechny rezervované znaky tím, že zkontroluje, zda jsou všechny výskyty procenta (%) následované platnou řídicí sekvencí. Pokud sekvence znaků za procentem není platná, nahradí se procento %25.

Tento konstruktor nezajistí, že Uri odkazuje na přístupný prostředek.

Poznámky pro volající

Z bezpečnostních důvodů by vaše aplikace neměla volat tento konstruktor s řetězci identifikátoru URI z nedůvěryhodných zdrojů a s nastavenou dontEscape na true. Případně můžete zkontrolovat platnost řetězce identifikátoru URI voláním IsWellFormedOriginalString() metody před voláním tohoto konstruktoru.

Platí pro