UriTemplate.BindByPosition(Uri, String[]) Método

Definición

Crea un nuevo URI a partir de la plantilla y una matriz de valores de parámetro.

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

Parámetros

baseAddress
Uri

que Uri contiene la dirección base.

values
String[]

Valores de parámetro.

Devoluciones

Uri

Uri Nueva instancia.

Ejemplos

En el ejemplo siguiente se muestra cómo llamar BindByPosition(Uri, String[])a .

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

Comentarios

Los valores de parámetro están enlazados por posición izquierda a derecha. El primer valor de parámetro reemplaza a la primera variable que se encuentra en la plantilla, el segundo valor de parámetro reemplaza a la segunda variable, etc. Las variables pasadas a este método se convierten en escape.

Note

El número de parámetros pasados en el parámetro values debe coincidir con el número de variables de la plantilla. Si no es así, se produce una FormatException excepción .

Note

Es posible pasar texto dentro de la matriz de valores de parámetro que impide que el URI generado coincida con la plantilla que se usa para generarlo. Algunos ejemplos de este texto incluyen: '/', '.',..', '*', '{' y '}'. El código siguiente muestra esto.

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

Se aplica a