Ler en inglés

Compartir por


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.

C#
public Uri BindByPosition(Uri baseAddress, params string[] values);

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[]).

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

Uri positionalUri = 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

Produto Versións
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1