UriTemplate.BindByPosition(Uri, String[]) Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Vytvoří nový identifikátor URI ze šablony a pole hodnot parametrů.
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
Parametry
- values
- String[]
Hodnoty parametrů.
Návraty
Nová Uri instance.
Příklady
Následující příklad ukazuje, jak volat 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")
Poznámky
Hodnoty parametrů jsou vázány umístěním zleva doprava. První hodnota parametru nahrazuje první proměnnou nalezenou v šabloně, druhá hodnota parametru nahradí druhou proměnnou atd. Proměnné předané této metodě jsou řídicími znaky.
Note
Počet parametrů předaných v parametru hodnot musí odpovídat počtu proměnných v šabloně. Pokud ne, je FormatException vyvolán.
Note
V poli hodnot parametrů je možné předat text, který brání vygenerovanému identifikátoru URI v porovnání se šablonou, která se použije k jeho vygenerování. Mezi příklady takového textu patří: /, ., .., *, {a}. Následující kód to demonstruje.
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