UriTemplate.BindByPosition(Uri, String[]) Methode

Definition

Erstellt einen neuen URI aus der Vorlage und ein 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

A Uri , das die Basisadresse enthält.

values
String[]

Die Parameterwerte.

Gibt zurück

Uri

Eine neue Uri Instanz.

Beispiele

Das folgende Beispiel zeigt, wie sie die BindByPosition(Uri, String[]).

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 sind an die Position 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.

Note

Die Anzahl der parameter, die im Werteparameter übergeben werden, muss mit der Anzahl der Variablen in der Vorlage übereinstimmen. Wenn nicht, wird ein FormatException Wurf ausgelöst.

Note

Es ist möglich, Text innerhalb des Parameterwertearrays zu übergeben, der verhindert, dass der generierte URI mit der Vorlage übereinstimmt, die zum Generieren verwendet wird. Beispiele für einen solchen Text sind: '/', '.'.', '*', '{' und '}'. Der folgende Code veranschaulicht dies.

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: