UriTemplate.BindByPosition(Uri, String[]) Metodo

Definizione

Crea un nuovo URI dal modello e una matrice di valori di parametro.

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

Oggetto Uri contenente l'indirizzo di base.

values
String[]

Valori dei parametri.

Valori restituiti

Uri

Uri Nuova istanza.

Esempio

Nell'esempio seguente viene illustrato come chiamare .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 dei parametri sono associati dalla posizione da sinistra a destra. Il primo valore del parametro sostituisce la prima variabile trovata nel modello, il secondo valore del parametro sostituisce la seconda variabile e così via. Le variabili passate a questo metodo vengono precedute da un carattere di escape.

Annotazioni

Il numero di parametri passati nel parametro values deve corrispondere al numero di variabili nel modello. In caso contrario, viene generata un'eccezione FormatException .

Annotazioni

È possibile passare testo all'interno della matrice di valori dei parametri che impedisce all'URI generato di corrispondere al modello usato per generarlo. Esempi di questo testo includono: '/', '.','.', '*', '{' e '}'. Il codice seguente illustra questa operazione.

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