Uri Konstruktory

Definicja

Inicjuje nowe wystąpienie klasy Uri.

Przeciążenia

Uri(String)

Inicjuje Uri nowe wystąpienie klasy przy użyciu określonego identyfikatora URI.

Uri(SerializationInfo, StreamingContext)

Inicjuje nowe wystąpienie Uri klasy z określonych wystąpień SerializationInfo klas i StreamingContext .

Uri(String, Boolean)
Nieaktualne.
Nieaktualne.
Nieaktualne.

Inicjuje Uri nowe wystąpienie klasy z określonym identyfikatorem URI z jawną kontrolą ucieczki znaków.

Uri(String, UriCreationOptions)

Inicjuje Uri nowe wystąpienie klasy przy użyciu określonego identyfikatora URI i dodatkowego UriCreationOptions.

Uri(String, UriKind)

Inicjuje Uri nowe wystąpienie klasy o określonym identyfikatorze URI. Ten konstruktor umożliwia określenie, czy ciąg identyfikatora URI jest względnym identyfikatorem URI, bezwzględnym identyfikatorem URI lub jest nieokreślony.

Uri(Uri, String)

Inicjuje nowe wystąpienie klasy na podstawie określonego Uri podstawowego identyfikatora URI i względnego ciągu identyfikatora URI.

Uri(Uri, Uri)

Inicjuje nowe wystąpienie Uri klasy na podstawie kombinacji określonego wystąpienia podstawowego Uri i wystąpienia względnego Uri .

Uri(Uri, String, Boolean)
Nieaktualne.
Nieaktualne.
Nieaktualne.

Inicjuje Uri nowe wystąpienie klasy na podstawie określonych identyfikatorów URI bazowych i względnych z jawną kontrolą ucieczki znaków.

Uri(String)

Inicjuje Uri nowe wystąpienie klasy przy użyciu określonego identyfikatora URI.

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

Parametry

uriString
String

Ciąg identyfikujący zasób, który ma być reprezentowany przez Uri wystąpienie. Należy pamiętać, że adres IPv6 w postaci ciągu musi być ujęta w nawiasy kwadratowe. Na przykład "http://[2607:f8b0:400d:c06::69]".

Wyjątki

uriString to null.

Uwaga: na platformie .NET dla aplikacji Windows Store lub biblioteki klas przenośnych przechwyć wyjątek klasy bazowej, FormatExceptionzamiast tego.

uriString jest pusta.

-lub-

Schemat określony w pliku uriString nie jest poprawnie sformułowany. Zobacz: CheckSchemeName(String).

-lub-

uriString zawiera zbyt wiele ukośników.

-lub-

Hasło określone w pliku uriString jest nieprawidłowe.

-lub-

Nazwa hosta określona w pliku uriString jest nieprawidłowa.

-lub-

Nazwa pliku określona w pliku uriString jest nieprawidłowa.

-lub-

Nazwa użytkownika określona w pliku uriString jest nieprawidłowa.

-lub-

Nazwa hosta lub urzędu określona w elemecie uriString nie może zostać zakończona ukośnikami odwrotnymi.

-lub-

Numer portu określony w pliku uriString jest nieprawidłowy lub nie można go przeanalizować.

-lub-

Długość uriString przekracza 65519 znaków.

-lub-

Długość schematu określonego w uriString ciągu przekracza 1023 znaków.

-lub-

Istnieje nieprawidłowa sekwencja znaków w pliku uriString.

-lub-

Ścieżka MS-DOS określona w uriString pliku musi zaczynać się od c:\\.

Przykłady

Poniższy przykład tworzy Uri wystąpienie z identyfikatorem 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/")

Uwagi

Ten konstruktor tworzy Uri wystąpienie na podstawie ciągu identyfikatora URI. Analizuje identyfikator URI, umieszcza go w formacie kanonicznym i wykonuje wszelkie wymagane kodowanie ucieczki.

Ten konstruktor nie zapewnia odwołania Uri do dostępnego zasobu.

Ten konstruktor zakłada, że string parametr odwołuje się do bezwzględnego identyfikatora URI i jest odpowiednikiem wywoływania konstruktora Uri z ustawioną wartością UriKind Absolute. string Jeśli parametr przekazany do konstruktora jest względnym identyfikatorem URI, ten konstruktor zgłosi błąd UriFormatException.

Dotyczy

Uri(SerializationInfo, StreamingContext)

Inicjuje nowe wystąpienie Uri klasy z określonych wystąpień SerializationInfo klas i 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)

Parametry

serializationInfo
SerializationInfo

Wystąpienie SerializationInfo klasy zawierające informacje wymagane do serializacji nowego Uri wystąpienia.

streamingContext
StreamingContext

Wystąpienie StreamingContext klasy zawierające źródło serializowanego strumienia skojarzonego z nowym Uri wystąpieniem.

Wyjątki

Parametr serializationInfo zawiera null identyfikator URI.

Parametr serializationInfo zawiera identyfikator URI, który jest pusty.

-lub-

Określony schemat nie jest poprawnie sformułowany. Zobacz: CheckSchemeName(String).

-lub-

Identyfikator URI zawiera zbyt wiele ukośników.

-lub-

Hasło określone w identyfikatorze URI jest nieprawidłowe.

-lub-

Nazwa hosta określona w identyfikatorze URI jest nieprawidłowa.

-lub-

Nazwa pliku określona w identyfikatorze URI jest nieprawidłowa.

-lub-

Nazwa użytkownika określona w identyfikatorze URI jest nieprawidłowa.

-lub-

Nazwa hosta lub urzędu określona w identyfikatorze URI nie może zostać zakończona ukośnikami odwrotnymi.

-lub-

Numer portu określony w identyfikatorze URI jest nieprawidłowy lub nie można go przeanalizować.

-lub-

Długość identyfikatora URI przekracza 65519 znaków.

-lub-

Długość schematu określonego w identyfikatorze URI przekracza 1023 znaki.

-lub-

W identyfikatorze URI istnieje nieprawidłowa sekwencja znaków.

-lub-

Ścieżka MS-DOS określona w identyfikatorze URI musi zaczynać się od c:\\.

Uwagi

Ten konstruktor implementuje ISerializable interfejs dla Uri klasy .

Zobacz też

Dotyczy

Uri(String, Boolean)

Przestroga

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

Przestroga

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

Przestroga

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

Inicjuje Uri nowe wystąpienie klasy z określonym identyfikatorem URI z jawną kontrolą ucieczki znaków.

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

Ciąg identyfikujący zasób, który ma być reprezentowany przez Uri wystąpienie. Należy pamiętać, że adres IPv6 w postaci ciągu musi być ujęta w nawiasy kwadratowe. Na przykład "http://[2607:f8b0:400d:c06::69]".

dontEscape
Boolean

truew przypadku uriString całkowitej ucieczki; w przeciwnym razie . false

Atrybuty

Wyjątki

uriString to null.

uriString jest pusty lub zawiera tylko spacje.

-lub-

Schemat określony w pliku uriString jest nieprawidłowy.

-lub-

uriString zawiera zbyt wiele ukośników.

-lub-

Hasło określone w pliku uriString jest nieprawidłowe.

-lub-

Nazwa hosta określona w pliku uriString jest nieprawidłowa.

-lub-

Nazwa pliku określona w pliku uriString jest nieprawidłowa.

-lub-

Nazwa użytkownika określona w pliku uriString jest nieprawidłowa.

-lub-

Nazwa hosta lub urzędu określona w elemecie uriString nie może zostać zakończona ukośnikami odwrotnymi.

-lub-

Numer portu określony w pliku uriString jest nieprawidłowy lub nie można go przeanalizować.

-lub-

Długość uriString przekracza 65519 znaków.

-lub-

Długość schematu określonego w uriString ciągu przekracza 1023 znaków.

-lub-

W programie uriStringistnieje nieprawidłowa sekwencja znaków.

-lub-

Ścieżka MS-DOS określona w uriString pliku musi zaczynać się od c:\\.

Przykłady

Poniższy przykład tworzy Uri wystąpienie dla identyfikatora URI http://www.contoso.com/Hello%20World.htm. Ponieważ zawarty identyfikator URI jest całkowicie ucieczki i jest w postaci kanonicznej, dontEscape parametr można ustawić na truewartość .

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)

Uwagi

Ten konstruktor tworzy Uri wystąpienie na podstawie ciągu identyfikatora URI. Analizuje identyfikator URI i umieszcza go w formacie kanonicznym.

Parametr dontEscape określa, czy zastrzeżone znaki są tłumaczone na sekwencje ucieczki. Ten parametr powinien być ustawiony na wartość tylko wtedy, gdy masz pewność true , że wszystkie zastrzeżone znaki w identyfikatorze URI zostały zmienione. Ustawienie wartości true dla identyfikatora URI, który nie został całkowicie usunięty, może spowodować nieoczekiwane zachowanie. Zdecydowanie zaleca się ustawienie tego parametru falsena wartość .

Jeśli dontEscape jest ustawiona wartość false, konstruktor ucieka przed wszelkimi zastrzeżonymi znakami, sprawdzając, czy wszystkie wystąpienia procentu (%) są zgodne z prawidłową sekwencją ucieczki. Jeśli sekwencja znaków po procentzie jest nieprawidłowa, procent jest zastępowany przez %25.

Ten konstruktor nie zapewnia odwołania Uri do dostępnego zasobu.

Dotyczy

Uri(String, UriCreationOptions)

Inicjuje Uri nowe wystąpienie klasy przy użyciu określonego identyfikatora URI i dodatkowego 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

Ciąg identyfikujący zasób, który ma być reprezentowany przez Uri wystąpienie.

creationOptions
UriCreationOptions

Opcje kontrolujące sposób Uri tworzenia i zachowywania się.

Dotyczy

Uri(String, UriKind)

Inicjuje Uri nowe wystąpienie klasy o określonym identyfikatorze URI. Ten konstruktor umożliwia określenie, czy ciąg identyfikatora URI jest względnym identyfikatorem URI, bezwzględnym identyfikatorem URI lub jest nieokreślony.

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

Ciąg identyfikujący zasób, który ma być reprezentowany przez Uri wystąpienie. Należy pamiętać, że adres IPv6 w postaci ciągu musi być ujęta w nawiasy. Na przykład "http://[2607:f8b0:400d:c06::69]".

uriKind
UriKind

Określa, czy ciąg identyfikatora URI jest względnym identyfikatorem URI, bezwzględnym identyfikatorem URI lub jest nieokreślony.

Wyjątki

uriKind jest nieprawidłowy.

uriString to null.

Uwaga: na platformie .NET dla aplikacji Windows Store lub przenośnej biblioteki klas przechwyć wyjątek klasy bazowej , FormatExceptionzamiast tego.

uriString zawiera względny identyfikator URI i uriKind ma wartość Absolute.

lub

uriString zawiera bezwzględny identyfikator URI i uriKind ma wartość Relative.

lub

uriString jest pusty.

-lub-

Schemat określony w elemecie uriString nie jest poprawnie sformułowany. Zobacz: CheckSchemeName(String).

-lub-

uriString zawiera zbyt wiele ukośników.

-lub-

Hasło określone w pliku uriString jest nieprawidłowe.

-lub-

Nazwa hosta określona w pliku uriString jest nieprawidłowa.

-lub-

Nazwa pliku określona w pliku uriString jest nieprawidłowa.

-lub-

Nazwa użytkownika określona w pliku uriString jest nieprawidłowa.

-lub-

Nazwa hosta lub urzędu określona w elemecie uriString nie może zostać zakończona ukośnikami odwrotnymi.

-lub-

Numer portu określony w pliku uriString jest nieprawidłowy lub nie można go przeanalizować.

-lub-

Długość uriString przekracza 65519 znaków.

-lub-

Długość schematu określonego w uriString ciągu przekracza 1023 znaków.

-lub-

W programie uriStringistnieje nieprawidłowa sekwencja znaków.

-lub-

Ścieżka MS-DOS określona w uriString pliku musi zaczynać się od c:\\.

Uwagi

Względne i bezwzględne identyfikatory URI mają różne ograniczenia dotyczące ich formatu. Na przykład względny identyfikator URI nie wymaga schematu ani urzędu. Wartość określona w elemecie uriKind musi być zgodna z typem identyfikatora URI przekazanego w elemecie uriString. Jeśli RelativeOrAbsolute jednak zostanie określony, ciąg identyfikatora URI może być względny lub bezwzględny.

Dotyczy

Uri(Uri, String)

Inicjuje nowe wystąpienie klasy na podstawie określonego Uri podstawowego identyfikatora URI i względnego ciągu identyfikatora 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

Podstawowy identyfikator URI.

relativeUri
String

Względny identyfikator URI, który ma zostać dodany do podstawowego identyfikatora URI.

Wyjątki

baseUri to null.

baseUri nie jest wystąpieniem bezwzględnym Uri .

Uwaga: na platformie .NET dla aplikacji Windows Store lub przenośnej biblioteki klas przechwyć wyjątek klasy bazowej , FormatExceptionzamiast tego.

Identyfikator URI utworzony przez połączenie baseUri i relativeUri jest pusty lub zawiera tylko spacje.

-lub-

Schemat określony w identyfikatorze URI utworzony przez połączenie baseUri i relativeUri jest nieprawidłowy.

-lub-

Identyfikator URI utworzony przez połączenie baseUri i relativeUri zawiera zbyt wiele ukośników.

-lub-

Hasło określone w identyfikatorze URI utworzonym przez połączenie baseUri i relativeUri jest nieprawidłowe.

-lub-

Nazwa hosta określona w identyfikatorze URI utworzonym przez połączenie baseUri i relativeUri jest nieprawidłowa.

-lub-

Nazwa pliku określona w identyfikatorze URI utworzonym przez połączenie baseUri i relativeUri jest nieprawidłowa.

-lub-

Nazwa użytkownika określona w identyfikatorze URI utworzona przez połączenie baseUri i relativeUri jest nieprawidłowa.

-lub-

Nazwa hosta lub urzędu określona w identyfikatorze URI utworzonym przez połączenie baseUri i relativeUri nie może zostać przerwana przez ukośniki odwrotne.

-lub-

Numer portu określony w identyfikatorze URI utworzony przez połączenie baseUri i relativeUri jest nieprawidłowy lub nie można go przeanalizować.

-lub-

Długość identyfikatora URI utworzonego przez połączenie baseUri i relativeUri przekracza 65519 znaków.

-lub-

Długość schematu określonego w identyfikatorze URI utworzonego przez połączenie baseUri i relativeUri przekracza 1023 znaki.

-lub-

Istnieje nieprawidłowa sekwencja znaków w identyfikatorze URI utworzona przez połączenie baseUri i relativeUri.

-lub-

Ścieżka MS-DOS określona w uriString pliku musi zaczynać się od c:\\.

Przykłady

Poniższy przykład tworzy nowe wystąpienie Uri klasy, łącząc względne identyfikatory http://www.contoso.com URI i catalog/shownew.htm tworząc bezwzględny identyfikator 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())

Uwagi

Ten konstruktor tworzy Uri wystąpienie, łącząc baseUri element i .relativeUri Jeśli relativeUri jest bezwzględnym identyfikatorem URI (zawierającym schemat, nazwę hosta i opcjonalnie numer portu), Uri wystąpienie jest tworzone tylko relativeUriprzy użyciu polecenia .

Jeśli element baseUri ma części względne (na /apiprzykład ), część względna musi zostać zakończona ukośnikiem (na przykład /api/), jeśli względna część elementu baseUri ma zostać zachowana w skonstruowanej konstrukcji Uri.

Ponadto, jeśli relativeUri zaczyna się ukośnikiem, zastąpi ona dowolną względną część elementu baseUri

Ten konstruktor nie zapewnia, że Uri element odwołuje się do dostępnego zasobu.

Dotyczy

Uri(Uri, Uri)

Inicjuje nowe wystąpienie Uri klasy na podstawie kombinacji określonego wystąpienia podstawowego Uri i wystąpienia względnego Uri .

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

Parametry

baseUri
Uri

Wartość bezwzględna Uri , która jest podstawą dla nowego Uri wystąpienia.

relativeUri
Uri

Wystąpienie względne Uri połączone z elementem baseUri.

Wyjątki

baseUri nie jest wystąpieniem bezwzględnym Uri .

baseUri to null.

baseUri nie jest wystąpieniem bezwzględnym Uri .

Uwaga: na platformie .NET dla aplikacji Windows Store lub biblioteki klas przenośnych przechwyć wyjątek klasy bazowej, FormatExceptionzamiast tego.

Identyfikator URI utworzony przez połączenie baseUri i relativeUri jest pusty lub zawiera tylko spacje.

-lub-

Schemat określony w identyfikatorze URI utworzony przez połączenie baseUri i relativeUri jest nieprawidłowy.

-lub-

Identyfikator URI utworzony przez połączenie baseUri i relativeUri zawiera zbyt wiele ukośników.

-lub-

Hasło określone w identyfikatorze URI utworzonym przez połączenie baseUri i relativeUri jest nieprawidłowe.

-lub-

Nazwa hosta określona w identyfikatorze URI utworzona przez połączenie baseUri i relativeUri jest nieprawidłowa.

-lub-

Nazwa pliku określona w identyfikatorze URI utworzona baseUri przez połączenie i relativeUri jest nieprawidłowa.

-lub-

Nazwa użytkownika określona w identyfikatorze URI utworzona przez połączenie baseUri i relativeUri jest nieprawidłowa.

-lub-

Nazwa hosta lub urzędu określona w identyfikatorze URI utworzonym przez połączenie baseUri i relativeUri nie może zostać zakończona ukośnikami odwrotnymi.

-lub-

Numer portu określony w identyfikatorze URI utworzony przez połączenie baseUri i relativeUri jest nieprawidłowy lub nie można go przeanalizować.

-lub-

Długość identyfikatora URI utworzonego przez połączenie baseUri i relativeUri przekracza 65519 znaków.

-lub-

Długość schematu określonego w identyfikatorze URI utworzonego przez połączenie baseUri i relativeUri przekracza 1023 znaki.

-lub-

Istnieje nieprawidłowa sekwencja znaków w identyfikatorze URI utworzona przez połączenie baseUri i relativeUri.

-lub-

Ścieżka MS-DOS określona w uriString pliku musi zaczynać się od c:\\.

Przykłady

W tym przykładzie jest tworzone wystąpienie bezwzględne Uri , absoluteUrii wystąpienie relativeUriwzględne Uri . Nowe Uri wystąpienie, combinedUri, jest następnie tworzone na podstawie tych dwóch wystąpień.

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

Uwagi

Ten konstruktor tworzy nowe Uri wystąpienie, łącząc wystąpienie bezwzględne Uri , baseUriz wystąpieniem relativeUriwzględnym Uri . Jeśli relativeUri jest wystąpieniem bezwzględnym Uri (zawierającym schemat, nazwę hosta i opcjonalnie numer portu), Uri wystąpienie jest tworzone przy użyciu tylko relativeUri.

Jeśli element baseUri ma części względne (na /apiprzykład ), to część względna musi zostać zakończona ukośnikiem (na przykład /api/), jeśli względna część baseUri elementu ma zostać zachowana w skonstruowanej Urikonstrukcji .

Ponadto, jeśli relativeUri rozpoczyna się od ukośnika, zastąpi on dowolną względną część baseUri

Ten konstruktor nie zapewnia odwołania Uri do dostępnego zasobu.

Dotyczy

Uri(Uri, String, Boolean)

Przestroga

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

Przestroga

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

Przestroga

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

Inicjuje Uri nowe wystąpienie klasy na podstawie określonych identyfikatorów URI bazowych i względnych z jawną kontrolą ucieczki znaków.

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

Podstawowy identyfikator URI.

relativeUri
String

Względny identyfikator URI do dodania do podstawowego identyfikatora URI.

dontEscape
Boolean

truew przypadku uriString całkowitej ucieczki; w przeciwnym razie . false

Atrybuty

Wyjątki

baseUri to null.

baseUri nie jest wystąpieniem bezwzględnym Uri .

Identyfikator URI utworzony przez połączenie baseUri i relativeUri jest pusty lub zawiera tylko spacje.

-lub-

Schemat określony w identyfikatorze URI utworzony przez połączenie baseUri i relativeUri jest nieprawidłowy.

-lub-

Identyfikator URI utworzony przez połączenie baseUri i relativeUri zawiera zbyt wiele ukośników.

-lub-

Hasło określone w identyfikatorze URI utworzonym przez połączenie baseUri i relativeUri jest nieprawidłowe.

-lub-

Nazwa hosta określona w identyfikatorze URI utworzona przez połączenie baseUri i relativeUri jest nieprawidłowa.

-lub-

Nazwa pliku określona w identyfikatorze URI utworzona baseUri przez połączenie i relativeUri jest nieprawidłowa.

-lub-

Nazwa użytkownika określona w identyfikatorze URI utworzona przez połączenie baseUri i relativeUri jest nieprawidłowa.

-lub-

Nazwa hosta lub urzędu określona w identyfikatorze URI utworzonym przez połączenie baseUri i relativeUri nie może zostać zakończona ukośnikami odwrotnymi.

-lub-

Numer portu określony w identyfikatorze URI utworzony przez połączenie baseUri i relativeUri jest nieprawidłowy lub nie można go przeanalizować.

-lub-

Długość identyfikatora URI utworzonego przez połączenie baseUri i relativeUri przekracza 65519 znaków.

-lub-

Długość schematu określonego w identyfikatorze URI utworzonego przez połączenie baseUri i relativeUri przekracza 1023 znaki.

-lub-

Istnieje nieprawidłowa sekwencja znaków w identyfikatorze URI utworzona przez połączenie baseUri i relativeUri.

-lub-

Ścieżka MS-DOS określona w uriString pliku musi zaczynać się od c:\\.

Przykłady

Poniższy przykład tworzy nowe wystąpienie Uri klasy przez połączenie względnych identyfikatorów http://www.contoso.com URI i Hello%20World.htm utworzenie bezwzględnego identyfikatora 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)

Uwagi

Ten konstruktor tworzy Uri wystąpienie przez połączenie i baseUri relativeUri. Jeśli przekazany relativeUri identyfikator URI jest bezwzględnym identyfikatorem URI (zawierającym schemat, nazwę hosta i opcjonalnie numer portu), Uri wystąpienie jest tworzone tylko relativeUriprzy użyciu .

Parametr dontEscape określa, czy zastrzeżone znaki są tłumaczone na sekwencje ucieczki. Ten parametr powinien być ustawiony na wartość tylko wtedy, gdy masz pewność true , że wszystkie zastrzeżone znaki w identyfikatorze URI zostały zmienione. Ustawienie wartości true dla identyfikatora URI, który nie został całkowicie usunięty, może spowodować nieoczekiwane zachowanie. Zdecydowanie zaleca się ustawienie tego parametru falsena wartość . Jeśli dontEscape jest ustawiona wartość false, konstruktor ucieka przed wszelkimi zastrzeżonymi znakami, sprawdzając, czy wszystkie wystąpienia procentu (%) są zgodne z prawidłową sekwencją ucieczki. Jeśli sekwencja znaków po procentzie jest nieprawidłowa, procent jest zastępowany przez %25.

Ten konstruktor nie zapewnia odwołania Uri do dostępnego zasobu.

Uwagi dotyczące wywoływania

Ze względu na obawy dotyczące zabezpieczeń aplikacja nie powinna wywoływać tego konstruktora z ciągami identyfikatora URI z niezaufanych źródeł i z ustawioną wartością dontEscape true. Alternatywnie możesz sprawdzić ciąg identyfikatora URI pod kątem ważności, wywołując metodę IsWellFormedOriginalString() przed wywołaniem tego konstruktora.

Dotyczy