UriTemplate.BindByPosition(Uri, String[]) Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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
- values
- String[]
Valores de parámetro.
Devoluciones
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