Freigeben über


UriTemplate.BindByPosition(Uri, String[]) Methode

Definition

Erstellt einen neuen URI aus der Vorlage und einem Array von Parameterwerten.

public:
 Uri ^ BindByPosition(Uri ^ baseAddress, ... cli::array <System::String ^> ^ values);
public Uri BindByPosition (Uri baseAddress, params string[] values);
member this.BindByPosition : Uri * string[] -> Uri
Public Function BindByPosition (baseAddress As Uri, ParamArray values As String()) As Uri

Parameter

baseAddress
Uri

Ein Uri, der die Basisadresse enthält.

values
String[]

Die Parameterwerte.

Gibt zurück

Uri

Eine neue Uri-Instanz.

Beispiele

Im folgenden Beispiel wird veranschaulicht, wie BindByPosition(Uri, String[]) aufgerufen wird.

UriTemplate template = new UriTemplate("weather/{state}/{city}?forecast={day}");
Uri prefix = new Uri("http://localhost");

Uri positionalUri = template.BindByPosition(prefix, "Washington", "Redmond", "Today");
Dim template As UriTemplate = New UriTemplate("weather/{state}/{city}?forecast={day}")
Dim prefix As Uri = New Uri("http://localhost")

Dim positionalUri As Uri = template.BindByPosition(prefix, "Washington", "Redmond", "Today")

Hinweise

Die Parameterwerte werden von links nach rechts gebunden. Der erste Parameterwert ersetzt die erste Variable in der Vorlage, der zweite Parameterwert ersetzt die zweite Variable usw. An diese Methode übergebene Variablen werden mit Escapezeichen versehen.

Hinweis

Die Anzahl der im Werteparameter übergebenen Parameter muss mit der Anzahl der Variablen in der Vorlage übereinstimmen. Andernfalls wird eine FormatException ausgelöst.

Hinweis

Es ist möglich, Text innerhalb des Arrays von Parameterwerten zu übergeben, durch den verhindert wird, dass der generierte URI mit der Vorlage übereinstimmt, mit der er generiert wird. Beispiele hierfür sind "/", ".", "..", "*", "{"' und "}". Im folgenden Code wird dies veranschaulicht.

UriTemplate template = new UriTemplate("far/{bat}/baz");

Uri uri = new Uri("http://localhost/Base");

Uri result = template.BindByPosition(uri, "."); // returns Base/form/baz

Uri result = template.BindByPosition(uri, ".."); // returns Base/baz

Uri result = template.BindByPosition(uri, "x/y"); // returns Base/form/x/y/baz

Uri result = template.BindByPosition(uri, "{x}"); // returns Base/form/{x}/baz

Uri result = template.BindByPosition(uri, "*"); // returns Base/form/*/baz

Gilt für: