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

Définition

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

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

Uri qui contient l'adresse de base.

values
String[]

Valeurs de paramètres.

Retours

Uri

Nouvelle instance de Uri.

Exemples

L'exemple suivant montre comment appeler 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ètres sont liées par la position gauche à droite. La première valeur de paramètre remplace la première variable trouvée dans le modèle, la deuxième remplace la deuxième variable, etc. Les variables passées à cette méthode sont placées dans une séquence d'échappement.

Notes

Le nombre de paramètres passés dans le paramètre de valeurs doit correspondre au nombre de variables du modèle. Si tel n'est pas le cas, une exception FormatException est levée.

Notes

Il est possible de passer du texte dans le tableau des valeurs de paramètres qui empêche l'URI généré de correspondre au modèle utilisé pour sa génération. Les exemples de ce type de texte sont les suivants : '/', '.','..', '*', '{', et '}'. Le code suivant illustre cette méthode.

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 à