UriTemplate.BindByPosition(Uri, String[]) Methode

Definition

Erstellt einen neuen URI aus der Vorlage und einem Array von Parameterwerten.Creates a new URI from the template and an array of parameter values.

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.A Uri that contains the base address.

values
String[]

Die Parameterwerte.The parameter values.

Gibt zurück

Uri

Eine neue Uri-Instanz.A new Uri instance.

Beispiele

Im folgenden Beispiel wird veranschaulicht, wie BindByPosition(Uri, String[]) aufgerufen wird.The following example shows how to call the 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 werden von links nach rechts gebunden.The parameter values are bound by position left to right. Der erste Parameterwert ersetzt die erste Variable in der Vorlage, der zweite Parameterwert ersetzt die zweite Variable usw.The first parameter value replaces the first variable found in the template, the second parameter value replaces the second variable, and so on. An diese Methode übergebene Variablen werden mit Escapezeichen versehen.Variables passed to this method are escaped.

Hinweis

Die Anzahl der im Werteparameter übergebenen Parameter muss mit der Anzahl der Variablen in der Vorlage übereinstimmen.The number of parameters passed in the values parameter must match the number of variables in the template. Andernfalls wird eine FormatException ausgelöst.If not, a FormatException is thrown.

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.It is possible to pass in text within the parameter values array that prevents the generated URI from matching the template that is used to generate it. Beispiele hierfür sind "/", ".", "..", "*", "{"' und "}".Examples of such text includes: '/', '.','..', '*', '{', and '}'. Im folgenden Code wird dies veranschaulicht.The following code demonstrates this.

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: