Udostępnij za pośrednictwem


Uri Konstruktory

Definicja

Inicjuje nowe wystąpienie klasy Uri.

Przeciążenia

Uri(String)

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

Uri(SerializationInfo, StreamingContext)
Przestarzałe.

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

Uri(String, Boolean)
Przestarzałe.
Przestarzałe.
Przestarzałe.

Inicjuje nowe wystąpienie klasy Uri z określonym identyfikatorem URI, z jawną kontrolą ucieczki znaku.

Uri(String, UriCreationOptions)

Inicjuje nowe wystąpienie klasy Uri z określonym identyfikatorem URI i dodatkowymi UriCreationOptions.

Uri(String, UriKind)

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

Uri(Uri, Uri)

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

Uri(Uri, String, Boolean)
Przestarzałe.
Przestarzałe.
Przestarzałe.

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

Uri(String)

Źródło:
Uri.cs
Źródło:
Uri.cs
Źródło:
Uri.cs

Inicjuje nowe wystąpienie klasy Uri 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 wystąpienie Uri. Należy pamiętać, że adres IPv6 w postaci ciągu musi być umieszczony w nawiasach kwadratowych. Na przykład "http://[2607:f8b0:400d:c06::69]".

Wyjątki

uriString jest null.

Uwaga: w .NET dla aplikacji ze Sklepu Windows lub Portable Class Libraryprzechwyć wyjątek klasy bazowej, FormatException, zamiast tego.

uriString jest pusta.

-lub-

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

-lub-

uriString zawiera zbyt wiele ukośników.

-lub-

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

-lub-

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

-lub-

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

-lub-

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

-lub-

Nie można zakończyć nazwy hosta lub urzędu określonego w uriString przez ukośniki odwrotne.

-lub-

Numer portu określony w 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 przekracza 1023 znaki.

-lub-

W uriStringwystępuje nieprawidłowa sekwencja znaków.

-lub-

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

Przykłady

Poniższy przykład tworzy wystąpienie Uri 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 wystąpienie Uri na podstawie ciągu identyfikatora URI. Analizuje identyfikator URI, umieszcza go w formacie kanonicznym i wykonuje wszelkie wymagane kodowania ucieczki.

Ten konstruktor nie zapewnia, że Uri odnosi się do dostępnego zasobu.

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

Dotyczy

Uri(SerializationInfo, StreamingContext)

Źródło:
Uri.cs
Źródło:
Uri.cs
Źródło:
Uri.cs

Przestroga

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

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

Parametry

serializationInfo
SerializationInfo

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

streamingContext
StreamingContext

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

Atrybuty

Wyjątki

Parametr serializationInfo zawiera identyfikator URI null.

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 interfejs ISerializable dla klasy Uri.

Zobacz też

  • XML i SOAP Serializacji

Dotyczy

Uri(String, Boolean)

Źródło:
Uri.cs
Źródło:
Uri.cs
Źródło:
Uri.cs

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 nowe wystąpienie klasy Uri z określonym identyfikatorem URI, z jawną kontrolą ucieczki znaku.

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 wystąpienie Uri. Należy pamiętać, że adres IPv6 w postaci ciągu musi być umieszczony w nawiasach kwadratowych. Na przykład "http://[2607:f8b0:400d:c06::69]".

dontEscape
Boolean

true, jeśli uriString zostanie całkowicie unikniętą; w przeciwnym razie false.

Atrybuty

Wyjątki

uriString jest null.

uriString jest pusta lub zawiera tylko spacje.

-lub-

Schemat określony w uriString jest nieprawidłowy.

-lub-

uriString zawiera zbyt wiele ukośników.

-lub-

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

-lub-

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

-lub-

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

-lub-

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

-lub-

Nie można zakończyć nazwy hosta lub urzędu określonego w uriString przez ukośniki odwrotne.

-lub-

Numer portu określony w 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 przekracza 1023 znaki.

-lub-

W uriStringwystępuje nieprawidłowa sekwencja znaków.

-lub-

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

Przykłady

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

Uwagi

Ten konstruktor tworzy wystąpienie Uri 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 true tylko wtedy, gdy masz pewność, że wszystkie zastrzeżone znaki w identyfikatorze URI zostały uniknięte. Ustawienie wartości na true dla identyfikatora URI, który nie został całkowicie usunięty, może spowodować nieoczekiwane zachowanie. Zdecydowanie zaleca się ustawienie tego parametru na false.

Jeśli dontEscape jest ustawiona na 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, że Uri odnosi się do dostępnego zasobu.

Dotyczy

Uri(String, UriCreationOptions)

Źródło:
Uri.cs
Źródło:
Uri.cs
Źródło:
Uri.cs

Inicjuje nowe wystąpienie klasy Uri z określonym identyfikatorem URI i dodatkowymi 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 wystąpienie Uri.

creationOptions
UriCreationOptions

Opcje kontrolujące sposób tworzenia i zachowania Uri.

Dotyczy

Uri(String, UriKind)

Źródło:
Uri.cs
Źródło:
Uri.cs
Źródło:
Uri.cs

Inicjuje nowe wystąpienie klasy Uri przy użyciu określonego identyfikatora 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 wystąpienie Uri. Należy pamiętać, że adres IPv6 w postaci ciągu musi być umieszczony w nawiasach kwadratowych. 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, czy jest nieokreślony.

Wyjątki

uriKind jest nieprawidłowa.

uriString jest null.

Uwaga: w .NET dla aplikacji ze Sklepu Windows lub Portable Class Libraryprzechwyć wyjątek klasy bazowej, FormatException, zamiast tego.

uriString zawiera względny identyfikator URI, a uriKind jest Absolute.

lub

uriString zawiera bezwzględny identyfikator URI, a uriKind jest Relative.

lub

uriString jest pusta.

-lub-

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

-lub-

uriString zawiera zbyt wiele ukośników.

-lub-

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

-lub-

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

-lub-

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

-lub-

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

-lub-

Nie można zakończyć nazwy hosta lub urzędu określonego w uriString przez ukośniki odwrotne.

-lub-

Numer portu określony w 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 przekracza 1023 znaki.

-lub-

W uriStringwystępuje nieprawidłowa sekwencja znaków.

-lub-

Ścieżka MS-DOS określona w uriString 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 uriKind musi być zgodna z typem identyfikatora URI przekazanego w uriString. Jeśli jednak RelativeOrAbsolute zostanie określony, ciąg identyfikatora URI może być względny lub bezwzględny.

Dotyczy

Uri(Uri, String)

Źródło:
Uri.cs
Źródło:
Uri.cs
Źródło:
Uri.cs

Inicjuje nowe wystąpienie klasy Uri na podstawie określonego 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 do dodania do podstawowego identyfikatora URI.

Wyjątki

baseUri jest null.

baseUri nie jest wystąpieniem bezwzględnym Uri.

Uwaga: w .NET dla aplikacji ze Sklepu Windows lub Portable Class Libraryprzechwyć wyjątek klasy bazowej, FormatException, zamiast 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 utworzone 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 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 utworzona 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 baseUri musi zaczynać się od c:\\.

Przykłady

Poniższy przykład tworzy nowe wystąpienie klasy Uri przez połączenie względnych identyfikatorów URI http://www.contoso.com i catalog/shownew.htm w celu utworzenia bezwzględnego identyfikatora 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 wystąpienie Uri przez połączenie baseUri i relativeUri. Jeśli relativeUri jest bezwzględnym identyfikatorem URI (zawierającym schemat, nazwę hosta i opcjonalnie numer portu), wystąpienie Uri jest tworzone tylko przy użyciu relativeUri.

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

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

Ten konstruktor nie zapewnia, że Uri odnosi się do dostępnego zasobu.

Dotyczy

Uri(Uri, Uri)

Źródło:
Uri.cs
Źródło:
Uri.cs
Źródło:
Uri.cs

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

Bezwzględna Uri, która jest podstawą nowego wystąpienia Uri.

relativeUri
Uri

Względne wystąpienie Uri połączone z baseUri.

Wyjątki

baseUri nie jest wystąpieniem bezwzględnym Uri.

baseUri jest null.

baseUri nie jest wystąpieniem bezwzględnym Uri.

Uwaga: w .NET dla aplikacji ze Sklepu Windows lub Portable Class Libraryprzechwyć wyjątek klasy bazowej, FormatException, zamiast 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 utworzone 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 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 utworzona 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 baseUri musi zaczynać się od c:\\.

Przykłady

W tym przykładzie jest tworzone wystąpienie bezwzględne Uri, absoluteUrii względne wystąpienie UrirelativeUri. Nowe wystąpienie Uri, 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 wystąpienie Uri, łącząc wystąpienie bezwzględne Uri, baseUri, z względnym wystąpieniem Uri, relativeUri. Jeśli relativeUri jest wystąpieniem bezwzględnym Uri (zawierającym schemat, nazwę hosta i opcjonalnie numer portu), wystąpienie Uri jest tworzone tylko przy użyciu relativeUri.

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

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

Ten konstruktor nie zapewnia, że Uri odnosi się do dostępnego zasobu.

Dotyczy

Uri(Uri, String, Boolean)

Źródło:
Uri.cs
Źródło:
Uri.cs
Źródło:
Uri.cs

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 nowe wystąpienie klasy Uri 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

true, jeśli baseUri i relativeUri zostaną całkowicie usunięte; w przeciwnym razie false.

Atrybuty

Wyjątki

baseUri jest 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 utworzone 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 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 utworzona 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 baseUri musi zaczynać się od c:\\.

Przykłady

Poniższy przykład tworzy nowe wystąpienie klasy Uri przez połączenie względnych identyfikatorów URI http://www.contoso.com i Hello%20World.htm w celu utworzenia 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 wystąpienie Uri przez połączenie baseUri i relativeUri. Jeśli identyfikator URI przekazany w relativeUri jest bezwzględnym identyfikatorem URI (zawierającym schemat, nazwę hosta i opcjonalnie numer portu), wystąpienie Uri jest tworzone przy użyciu tylko relativeUri.

Parametr dontEscape określa, czy zastrzeżone znaki są tłumaczone na sekwencje ucieczki. Ten parametr powinien być ustawiony na true tylko wtedy, gdy masz pewność, że wszystkie zastrzeżone znaki w identyfikatorze URI zostały uniknięte. Ustawienie wartości na true dla identyfikatora URI, który nie został całkowicie usunięty, może spowodować nieoczekiwane zachowanie. Zdecydowanie zaleca się ustawienie tego parametru na false. Jeśli dontEscape jest ustawiona na 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, że Uri odnosi się 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 dontEscape ustawioną na true. Alternatywnie można sprawdzić ciąg identyfikatora URI pod kątem ważności, wywołując metodę IsWellFormedOriginalString() przed wywołaniem tego konstruktora.

Dotyczy