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

Uri que contiene la dirección base.

values
String[]

Valores de parámetro.

Devoluciones

Uri

Nueva instancia de Uri.

Ejemplos

En el ejemplo siguiente se muestra cómo llamar a 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")

Comentarios

Los valores de parámetro se enlazan por posición de izquierda a derecha. El primer valor de parámetro reemplaza la primera variable situada en la plantilla, el segundo valor de parámetro reemplaza la segunda variable, etc. Se escapan las variables pasadas a este método.

Nota:

El número de parámetros pasados al parámetro de valores debe coincidir con el número de variables de la plantilla. Si no, se produce una FormatException.

Nota:

Es posible pasar texto dentro de la matriz de valores de parámetro, lo que evita que el URI generado coincida con la plantilla que se utiliza para generarlo. Son ejemplos de ese texto: '/', '.','..', '*', '{', y '}'. El código siguiente muestra cómo hacerlo.

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