UriTemplate.BindByPosition(Uri, String[]) Méthode

Définition

Crée un URI à partir du modèle et d’un tableau de valeurs de paramètre.

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

Paramètres

baseAddress
Uri

Qui Uri contient l’adresse de base.

values
String[]

Valeurs des paramètres.

Retours

Uri

Nouvelle Uri instance.

Exemples

L’exemple suivant montre comment appeler le 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")

Remarques

Les valeurs de paramètre sont liées par position gauche à droite. La première valeur de paramètre remplace la première variable trouvée dans le modèle, la deuxième valeur de paramètre remplace la deuxième variable, et ainsi de suite. Les variables passées à cette méthode sont échappées.

Note

Le nombre de paramètres passés dans le paramètre de valeurs doit correspondre au nombre de variables dans le modèle. Si ce n’est pas le cas, un FormatException est levée.

Note

Il est possible de transmettre du texte dans le tableau de valeurs de paramètre qui empêche l’URI généré de correspondre au modèle utilisé pour le générer. Voici quelques exemples de ce texte : '/', '.',..', '*', '{' et '}'. Le code suivant illustre cela.

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

S’applique à