Freigeben über


Uri Konstruktoren

Definition

Initialisiert eine neue Instanz der Uri Klasse.

Überlädt

Uri(String)

Initialisiert eine neue Instanz der Uri Klasse mit dem angegebenen URI.

Uri(SerializationInfo, StreamingContext)
Veraltet.

Initialisiert eine neue Instanz der Uri Klasse aus den angegebenen Instanzen der klassen SerializationInfo und StreamingContext.

Uri(String, Boolean)
Veraltet.
Veraltet.
Veraltet.

Initialisiert eine neue Instanz der Uri-Klasse mit dem angegebenen URI mit explizitem Steuerelement für das Escapen von Zeichen.

Uri(String, UriCreationOptions)

Initialisiert eine neue Instanz der Uri Klasse mit dem angegebenen URI und zusätzlichen UriCreationOptions.

Uri(String, UriKind)

Initialisiert eine neue Instanz der Uri Klasse mit dem angegebenen URI. Mit diesem Konstruktor können Sie angeben, ob die URI-Zeichenfolge ein relativer URI, absoluter URI oder unbestimmt ist.

Uri(Uri, String)

Initialisiert eine neue Instanz der Uri Klasse basierend auf dem angegebenen Basis-URI und der relativen URI-Zeichenfolge.

Uri(Uri, Uri)

Initialisiert eine neue Instanz der Uri Klasse basierend auf der Kombination einer angegebenen Basisinstanz Uri Instanz und einer relativen Uri Instanz.

Uri(Uri, String, Boolean)
Veraltet.
Veraltet.
Veraltet.

Initialisiert eine neue Instanz der Uri-Klasse basierend auf der angegebenen Basis und relativen URIs, wobei die explizite Kontrolle über das Escapen von Zeichen erfolgt.

Uri(String)

Quelle:
Uri.cs
Quelle:
Uri.cs
Quelle:
Uri.cs

Initialisiert eine neue Instanz der Uri Klasse mit dem angegebenen URI.

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

Parameter

uriString
String

Eine Zeichenfolge, die die Ressource identifiziert, die durch die Uri Instanz dargestellt werden soll. Beachten Sie, dass eine IPv6-Adresse in Zeichenfolgenform in eckige Klammern eingeschlossen werden muss. Beispiel: "http://[2607:f8b0:400d:c06::69]".

Ausnahmen

uriString ist null.

Hinweis: In den .NET für Windows Store-Apps oder der Portable Class Libraryerfassen Sie stattdessen die Basisklassen-Ausnahme, FormatException.

uriString ist leer.

-oder-

Das in uriString angegebene Schema ist nicht ordnungsgemäß gebildet. Siehe CheckSchemeName(String).

-oder-

uriString enthält zu viele Schrägstriche.

-oder-

Das in uriString angegebene Kennwort ist ungültig.

-oder-

Der in uriString angegebene Hostname ist ungültig.

-oder-

Der in uriString angegebene Dateiname ist ungültig.

-oder-

Der in uriString angegebene Benutzername ist ungültig.

-oder-

Der in uriString angegebene Host- oder Autoritätsname kann nicht durch umgekehrte Schrägstriche beendet werden.

-oder-

Die in uriString angegebene Portnummer ist ungültig oder kann nicht analysiert werden.

-oder-

Die Länge von uriString überschreitet 65519 Zeichen.

-oder-

Die länge des in uriString angegebenen Schemas überschreitet 1023 Zeichen.

-oder-

In uriStringist eine ungültige Zeichenfolge vorhanden.

-oder-

Der in uriString angegebene MS-DOS Pfad muss mit "c:\\" beginnen.

Beispiele

Im folgenden Beispiel wird eine Uri Instanz mit dem URI-http://www.contoso.com/erstellt.

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

Hinweise

Dieser Konstruktor erstellt eine Uri Instanz aus einer URI-Zeichenfolge. Er analysiert den URI, platziert ihn in kanonischem Format und macht alle erforderlichen Escapecodierungen.

Dieser Konstruktor stellt nicht sicher, dass die Uri auf eine barrierefreie Ressource verweist.

Dieser Konstruktor geht davon aus, dass der string-Parameter auf einen absoluten URI verweist und dem Aufruf des Uri-Konstruktors entspricht, wobei UriKind auf Absolutefestgelegt ist. Wenn der an den Konstruktor übergebene string Parameter ein relativer URI ist, löst dieser Konstruktor eine UriFormatExceptionaus.

Gilt für:

Uri(SerializationInfo, StreamingContext)

Quelle:
Uri.cs
Quelle:
Uri.cs
Quelle:
Uri.cs

Achtung

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

Initialisiert eine neue Instanz der Uri Klasse aus den angegebenen Instanzen der klassen SerializationInfo und 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)

Parameter

serializationInfo
SerializationInfo

Eine Instanz der SerializationInfo Klasse, die die zum Serialisieren der neuen Uri Instanz erforderlichen Informationen enthält.

streamingContext
StreamingContext

Eine Instanz der StreamingContext Klasse, die die Quelle des serialisierten Datenstroms enthält, der der neuen Uri Instanz zugeordnet ist.

Attribute

Ausnahmen

Der parameter serializationInfo enthält einen null URI.

Der parameter serializationInfo enthält einen leeren URI.

-oder-

Das angegebene Schema ist nicht ordnungsgemäß gebildet. Siehe CheckSchemeName(String).

-oder-

Der URI enthält zu viele Schrägstriche.

-oder-

Das im URI angegebene Kennwort ist ungültig.

-oder-

Der in URI angegebene Hostname ist ungültig.

-oder-

Der im URI angegebene Dateiname ist ungültig.

-oder-

Der im URI angegebene Benutzername ist ungültig.

-oder-

Der im URI angegebene Host- oder Autoritätsname kann nicht durch umgekehrte Schrägstriche beendet werden.

-oder-

Die im URI angegebene Portnummer ist ungültig oder kann nicht analysiert werden.

-oder-

Die Länge des URI überschreitet 65519 Zeichen.

-oder-

Die Länge des im URI angegebenen Schemas überschreitet 1023 Zeichen.

-oder-

Im URI ist eine ungültige Zeichenfolge vorhanden.

-oder-

Der im URI angegebene MS-DOS Pfad muss mit "c:\\" beginnen.

Hinweise

Dieser Konstruktor implementiert die ISerializable Schnittstelle für die Uri Klasse.

Weitere Informationen

Gilt für:

Uri(String, Boolean)

Quelle:
Uri.cs
Quelle:
Uri.cs
Quelle:
Uri.cs

Achtung

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

Achtung

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

Achtung

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

Initialisiert eine neue Instanz der Uri-Klasse mit dem angegebenen URI mit explizitem Steuerelement für das Escapen von Zeichen.

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)

Parameter

uriString
String

Eine Zeichenfolge, die die Ressource identifiziert, die durch die Uri Instanz dargestellt werden soll. Beachten Sie, dass eine IPv6-Adresse in Zeichenfolgenform in eckige Klammern eingeschlossen werden muss. Beispiel: "http://[2607:f8b0:400d:c06::69]".

dontEscape
Boolean

true, wenn uriString vollständig escaped ist; andernfalls false.

Attribute

Ausnahmen

uriString ist null.

uriString ist leer oder enthält nur Leerzeichen.

-oder-

Das in uriString angegebene Schema ist ungültig.

-oder-

uriString enthält zu viele Schrägstriche.

-oder-

Das in uriString angegebene Kennwort ist ungültig.

-oder-

Der in uriString angegebene Hostname ist ungültig.

-oder-

Der in uriString angegebene Dateiname ist ungültig.

-oder-

Der in uriString angegebene Benutzername ist ungültig.

-oder-

Der in uriString angegebene Host- oder Autoritätsname kann nicht durch umgekehrte Schrägstriche beendet werden.

-oder-

Die in uriString angegebene Portnummer ist ungültig oder kann nicht analysiert werden.

-oder-

Die Länge von uriString überschreitet 65519 Zeichen.

-oder-

Die länge des in uriString angegebenen Schemas überschreitet 1023 Zeichen.

-oder-

In uriStringist eine ungültige Zeichenfolge vorhanden.

-oder-

Der in uriString angegebene MS-DOS Pfad muss mit "c:\\" beginnen.

Beispiele

Im folgenden Beispiel wird eine Uri Instanz für den URI-http://www.contoso.com/Hello%20World.htmerstellt. Da der enthaltene URI vollständig escaped ist und sich in kanonischer Form befindet, kann der dontEscape Parameter auf truefestgelegt werden.

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)

Hinweise

Dieser Konstruktor erstellt eine Uri Instanz aus einer URI-Zeichenfolge. Er analysiert den URI und platziert ihn in kanonischem Format.

Der dontEscape-Parameter steuert, ob reservierte Zeichen in Escapesequenzen übersetzt werden. Dieser Parameter sollte nur auf true festgelegt werden, wenn Sie sicher sind, dass alle reservierten Zeichen im URI escaped wurden. Das Festlegen des Werts auf true für einen URI, der nicht vollständig escaped wurde, kann zu unerwartetem Verhalten führen. Es wird dringend empfohlen, diesen Parameter immer auf falsefestzulegen.

Wenn dontEscape auf falsefestgelegt ist, escapet der Konstruktor alle reservierten Zeichen, indem überprüft wird, ob auf alle Vorkommen von Prozent (%) eine gültige Escapesequenz folgt. Wenn die Zeichenfolge nach einem Prozent nicht gültig ist, wird der Prozentsatz durch %25ersetzt.

Dieser Konstruktor stellt nicht sicher, dass die Uri auf eine barrierefreie Ressource verweist.

Gilt für:

Uri(String, UriCreationOptions)

Quelle:
Uri.cs
Quelle:
Uri.cs
Quelle:
Uri.cs

Initialisiert eine neue Instanz der Uri Klasse mit dem angegebenen URI und zusätzlichen 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)

Parameter

uriString
String

Eine Zeichenfolge, die die Ressource identifiziert, die durch die Uri Instanz dargestellt werden soll.

creationOptions
UriCreationOptions

Optionen, die steuern, wie die Uri erstellt und sich verhalten.

Gilt für:

Uri(String, UriKind)

Quelle:
Uri.cs
Quelle:
Uri.cs
Quelle:
Uri.cs

Initialisiert eine neue Instanz der Uri Klasse mit dem angegebenen URI. Mit diesem Konstruktor können Sie angeben, ob die URI-Zeichenfolge ein relativer URI, absoluter URI oder unbestimmt ist.

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)

Parameter

uriString
String

Eine Zeichenfolge, die die Ressource identifiziert, die durch die Uri Instanz dargestellt werden soll. Beachten Sie, dass eine IPv6-Adresse in Zeichenfolgenform in eckige Klammern eingeschlossen werden muss. Beispiel: "http://[2607:f8b0:400d:c06::69]".

uriKind
UriKind

Gibt an, ob die URI-Zeichenfolge ein relativer URI, absoluter URI oder unbestimmt ist.

Ausnahmen

uriKind ist ungültig.

uriString ist null.

Hinweis: In den .NET für Windows Store-Apps oder der Portable Class Libraryerfassen Sie stattdessen die Basisklassen-Ausnahme, FormatException.

uriString enthält einen relativen URI und uriKind ist Absolute.

oder

uriString enthält einen absoluten URI und uriKind ist Relative.

oder

uriString ist leer.

-oder-

Das in uriString angegebene Schema ist nicht ordnungsgemäß gebildet. Siehe CheckSchemeName(String).

-oder-

uriString enthält zu viele Schrägstriche.

-oder-

Das in uriString angegebene Kennwort ist ungültig.

-oder-

Der in uriString angegebene Hostname ist ungültig.

-oder-

Der in uriString angegebene Dateiname ist ungültig.

-oder-

Der in uriString angegebene Benutzername ist ungültig.

-oder-

Der in uriString angegebene Host- oder Autoritätsname kann nicht durch umgekehrte Schrägstriche beendet werden.

-oder-

Die in uriString angegebene Portnummer ist ungültig oder kann nicht analysiert werden.

-oder-

Die Länge von uriString überschreitet 65519 Zeichen.

-oder-

Die länge des in uriString angegebenen Schemas überschreitet 1023 Zeichen.

-oder-

In uriStringist eine ungültige Zeichenfolge vorhanden.

-oder-

Der in uriString angegebene MS-DOS Pfad muss mit "c:\\" beginnen.

Hinweise

Relative und absolute URIs haben unterschiedliche Einschränkungen für ihr Format. Ein relativer URI erfordert z. B. kein Schema oder eine Autorität. Der wert, den Sie in uriKind angeben, muss mit dem Typ des in uriStringübergebenen URI übereinstimmen. Wenn jedoch RelativeOrAbsolute angegeben wird, kann die URI-Zeichenfolge relativ oder absolut sein.

Gilt für:

Uri(Uri, String)

Quelle:
Uri.cs
Quelle:
Uri.cs
Quelle:
Uri.cs

Initialisiert eine neue Instanz der Uri Klasse basierend auf dem angegebenen Basis-URI und der relativen URI-Zeichenfolge.

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)

Parameter

baseUri
Uri

Der Basis-URI.

relativeUri
String

Der relative URI, der dem Basis-URI hinzugefügt werden soll.

Ausnahmen

baseUri ist null.

baseUri ist keine absolute Uri Instanz.

Hinweis: In den .NET für Windows Store-Apps oder der Portable Class Libraryerfassen Sie stattdessen die Basisklassen-Ausnahme, FormatException.

Der URI, der durch die Kombination von baseUri und relativeUri gebildet wird, ist leer oder enthält nur Leerzeichen.

-oder-

Das im URI angegebene Schema, das durch die Kombination von baseUri und relativeUri gebildet wird, ist ungültig.

-oder-

Der URI, der durch die Kombination von baseUri und relativeUri gebildet wird, enthält zu viele Schrägstriche.

-oder-

Das im URI angegebene Kennwort, das durch die Kombination von baseUri und relativeUri gebildet wird, ist ungültig.

-oder-

Der im URI angegebene Hostname, der durch die Kombination von baseUri und relativeUri gebildet wird, ist ungültig.

-oder-

Der im URI angegebene Dateiname, der durch die Kombination von baseUri und relativeUri gebildet wird, ist ungültig.

-oder-

Der im URI angegebene Benutzername, der durch die Kombination von baseUri und relativeUri gebildet wird, ist ungültig.

-oder-

Der im URI angegebene Host- oder Autoritätsname, der durch die Kombination von baseUri und relativeUri gebildet wird, kann nicht durch umgekehrte Schrägstriche beendet werden.

-oder-

Die im URI angegebene Portnummer, die durch die Kombination von baseUri und relativeUri gebildet wird, ist ungültig oder kann nicht analysiert werden.

-oder-

Die Länge des URI, der durch die Kombination von baseUri und relativeUri gebildet wird, überschreitet 65519 Zeichen.

-oder-

Die Länge des im URI angegebenen Schemas, das durch die Kombination von baseUri und relativeUri überschreitet 1023 Zeichen.

-oder-

Es gibt eine ungültige Zeichenfolge im URI, die durch die Kombination von baseUri und relativeUrigebildet wird.

-oder-

Der in baseUri angegebene MS-DOS Pfad muss mit "c:\\" beginnen.

Beispiele

Im folgenden Beispiel wird eine neue Instanz der Uri Klasse erstellt, indem die relativen URIs http://www.contoso.com und catalog/shownew.htm kombiniert werden, um den absoluten URI-http://www.contoso.com/catalog/shownew.htmzu bilden.

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())

Hinweise

Dieser Konstruktor erstellt eine Uri Instanz, indem die baseUri und die relativeUrikombiniert werden. Wenn relativeUri ein absoluter URI ist (der ein Schema, einen Hostnamen und optional eine Portnummer enthält), wird die Uri Instanz nur mit relativeUrierstellt.

Wenn die baseUri relative Teile (wie /api) aufweist, muss der relative Teil mit einem Schrägstrich (wie /api/) beendet werden, wenn der relative Teil der baseUri im konstruierten Uribeibehalten werden soll.

Wenn die relativeUri mit einem Schrägstrich beginnt, ersetzt sie außerdem jeden relativen Teil der baseUri

Dieser Konstruktor stellt nicht sicher, dass die Uri auf eine barrierefreie Ressource verweist.

Gilt für:

Uri(Uri, Uri)

Quelle:
Uri.cs
Quelle:
Uri.cs
Quelle:
Uri.cs

Initialisiert eine neue Instanz der Uri Klasse basierend auf der Kombination einer angegebenen Basisinstanz Uri Instanz und einer relativen Uri Instanz.

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)

Parameter

baseUri
Uri

Eine absolute Uri, die die Basis für die neue Uri Instanz ist.

relativeUri
Uri

Eine relative Uri Instanz, die mit baseUrikombiniert wird.

Ausnahmen

baseUri ist keine absolute Uri Instanz.

baseUri ist null.

baseUri ist keine absolute Uri Instanz.

Hinweis: In den .NET für Windows Store-Apps oder der Portable Class Libraryerfassen Sie stattdessen die Basisklassen-Ausnahme, FormatException.

Der URI, der durch die Kombination von baseUri und relativeUri gebildet wird, ist leer oder enthält nur Leerzeichen.

-oder-

Das im URI angegebene Schema, das durch die Kombination von baseUri und relativeUri gebildet wird, ist ungültig.

-oder-

Der URI, der durch die Kombination von baseUri und relativeUri gebildet wird, enthält zu viele Schrägstriche.

-oder-

Das im URI angegebene Kennwort, das durch die Kombination von baseUri und relativeUri gebildet wird, ist ungültig.

-oder-

Der im URI angegebene Hostname, der durch die Kombination von baseUri und relativeUri gebildet wird, ist ungültig.

-oder-

Der im URI angegebene Dateiname, der durch die Kombination von baseUri und relativeUri gebildet wird, ist ungültig.

-oder-

Der im URI angegebene Benutzername, der durch die Kombination von baseUri und relativeUri gebildet wird, ist ungültig.

-oder-

Der im URI angegebene Host- oder Autoritätsname, der durch die Kombination von baseUri und relativeUri gebildet wird, kann nicht durch umgekehrte Schrägstriche beendet werden.

-oder-

Die im URI angegebene Portnummer, die durch die Kombination von baseUri und relativeUri gebildet wird, ist ungültig oder kann nicht analysiert werden.

-oder-

Die Länge des URI, der durch die Kombination von baseUri und relativeUri gebildet wird, überschreitet 65519 Zeichen.

-oder-

Die Länge des im URI angegebenen Schemas, das durch die Kombination von baseUri und relativeUri überschreitet 1023 Zeichen.

-oder-

Es gibt eine ungültige Zeichenfolge im URI, die durch die Kombination von baseUri und relativeUrigebildet wird.

-oder-

Der in baseUri angegebene MS-DOS Pfad muss mit "c:\\" beginnen.

Beispiele

In diesem Beispiel wird eine absolute Uri Instanz, absoluteUriund eine relative Uri Instanz relativeUrierstellt. Anschließend wird aus diesen beiden Instanzen eine neue Uri Instanz combinedUrierstellt.

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

Hinweise

Dieser Konstruktor erstellt eine neue Uri Instanz, indem eine absolute Uri Instanz, baseUri, mit einer relativen Uri Instanz relativeUrikombiniert wird. Wenn relativeUri eine absolute Uri Instanz ist (die ein Schema, einen Hostnamen und optional eine Portnummer enthält), wird die Uri Instanz nur mit relativeUrierstellt.

Wenn die baseUri relative Teile (wie /api) aufweist, muss der relative Teil mit einem Schrägstrich (wie /api/) beendet werden, wenn der relative Teil der baseUri im konstruierten Uribeibehalten werden soll.

Wenn die relativeUri mit einem Schrägstrich beginnt, ersetzt sie außerdem jeden relativen Teil der baseUri

Dieser Konstruktor stellt nicht sicher, dass die Uri auf eine barrierefreie Ressource verweist.

Gilt für:

Uri(Uri, String, Boolean)

Quelle:
Uri.cs
Quelle:
Uri.cs
Quelle:
Uri.cs

Achtung

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

Achtung

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

Achtung

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

Initialisiert eine neue Instanz der Uri-Klasse basierend auf der angegebenen Basis und relativen URIs, wobei die explizite Kontrolle über das Escapen von Zeichen erfolgt.

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)

Parameter

baseUri
Uri

Der Basis-URI.

relativeUri
String

Der relative URI, der dem Basis-URI hinzugefügt werden soll.

dontEscape
Boolean

true, wenn baseUri und relativeUri vollständig entweicht werden; andernfalls false.

Attribute

Ausnahmen

baseUri ist null.

baseUri ist keine absolute Uri Instanz.

Der URI, der durch die Kombination von baseUri und relativeUri gebildet wird, ist leer oder enthält nur Leerzeichen.

-oder-

Das im URI angegebene Schema, das durch die Kombination von baseUri und relativeUri gebildet wird, ist ungültig.

-oder-

Der URI, der durch die Kombination von baseUri und relativeUri gebildet wird, enthält zu viele Schrägstriche.

-oder-

Das im URI angegebene Kennwort, das durch die Kombination von baseUri und relativeUri gebildet wird, ist ungültig.

-oder-

Der im URI angegebene Hostname, der durch die Kombination von baseUri und relativeUri gebildet wird, ist ungültig.

-oder-

Der im URI angegebene Dateiname, der durch die Kombination von baseUri und relativeUri gebildet wird, ist ungültig.

-oder-

Der im URI angegebene Benutzername, der durch die Kombination von baseUri und relativeUri gebildet wird, ist ungültig.

-oder-

Der im URI angegebene Host- oder Autoritätsname, der durch die Kombination von baseUri und relativeUri gebildet wird, kann nicht durch umgekehrte Schrägstriche beendet werden.

-oder-

Die im URI angegebene Portnummer, die durch die Kombination von baseUri und relativeUri gebildet wird, ist ungültig oder kann nicht analysiert werden.

-oder-

Die Länge des URI, der durch die Kombination von baseUri und relativeUri gebildet wird, überschreitet 65519 Zeichen.

-oder-

Die Länge des im URI angegebenen Schemas, das durch die Kombination von baseUri und relativeUri überschreitet 1023 Zeichen.

-oder-

Es gibt eine ungültige Zeichenfolge im URI, die durch die Kombination von baseUri und relativeUrigebildet wird.

-oder-

Der in baseUri angegebene MS-DOS Pfad muss mit "c:\\" beginnen.

Beispiele

Im folgenden Beispiel wird eine neue Instanz der Uri Klasse erstellt, indem die relativen URIs http://www.contoso.com und Hello%20World.htm kombiniert werden, um einen absoluten URI zu bilden.

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)

Hinweise

Dieser Konstruktor erstellt eine Uri Instanz, indem baseUri und relativeUrikombiniert werden. Wenn der in relativeUri übergebene URI ein absoluter URI ist (der ein Schema, einen Hostnamen und optional eine Portnummer enthält), wird die Uri Instanz nur mit relativeUrierstellt.

Der dontEscape-Parameter steuert, ob reservierte Zeichen in Escapesequenzen übersetzt werden. Dieser Parameter sollte nur auf true festgelegt werden, wenn Sie sicher sind, dass alle reservierten Zeichen im URI escaped wurden. Das Festlegen des Werts auf true für einen URI, der nicht vollständig escaped wurde, kann zu unerwartetem Verhalten führen. Es wird dringend empfohlen, diesen Parameter immer auf falsefestzulegen. Wenn dontEscape auf falsefestgelegt ist, escapet der Konstruktor alle reservierten Zeichen, indem überprüft wird, ob auf alle Vorkommen von Prozent (%) eine gültige Escapesequenz folgt. Wenn die Zeichenfolge nach einem Prozent nicht gültig ist, wird der Prozentsatz durch %25ersetzt.

Dieser Konstruktor stellt nicht sicher, dass die Uri auf eine barrierefreie Ressource verweist.

Hinweise für Aufrufer

Aufgrund von Sicherheitsbedenken sollte Ihre Anwendung diesen Konstruktor nicht mit URI-Zeichenfolgen aus nicht vertrauenswürdigen Quellen und mit dontEscape auf trueaufrufen. Alternativ können Sie eine URI-Zeichenfolge auf Gültigkeit überprüfen, indem Sie die IsWellFormedOriginalString()-Methode aufrufen, bevor Sie diesen Konstruktor aufrufen.

Gilt für: