UriTemplate.BindByPosition(Uri, String[]) UriTemplate.BindByPosition(Uri, String[]) UriTemplate.BindByPosition(Uri, String[]) UriTemplate.BindByPosition(Uri, String[]) Method

Definizione

Crea un nuovo URI a partire dal modello e da una matrice di valori di parametro.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

Parametri

baseAddress
Uri Uri Uri Uri

Oggetto Uri contenente l'indirizzo di base.A Uri that contains the base address.

values
String[]

Valori di parametro.The parameter values.

Restituisce

Nuova istanza di Uri.A new Uri instance.

Esempi

Nell'esempio seguente viene illustrato come chiamare il metodo BindByPosition(Uri, String[]).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")

Commenti

I valori di parametro sono associati in base alla posizione da sinistra verso destra.The parameter values are bound by position left to right. Il primo valore di parametro sostituisce la prima variabile trovata nel modello, il secondo valore di parametro sostituisce la seconda variabile e così via.The first parameter value replaces the first variable found in the template, the second parameter value replaces the second variable, and so on. Le variabili passate a questo metodo sono precedute da caratteri di escape.Variables passed to this method are escaped.

Nota

Il numero di parametri passati nel parametro dei valori deve corrispondere al numero di variabili contenute nel modello.The number of parameters passed in the values parameter must match the number of variables in the template. In caso contrario, viene generata un'eccezione FormatException.If not, a FormatException is thrown.

Nota

Per evitare che l'URI generato corrisponda al modello utilizzato per generarlo è possibile passare elementi di testo all'interno della matrice dei valori di parametro.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. Esempi di testo di questo tipo sono: '/', '.','..', '*', '{' e '}'.Examples of such text includes: '/', '.','..', '*', '{', and '}'. Questo concetto è illustrato nel codice riportato di seguito.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

Si applica a