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 doleva 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í.
Poznámka
Počet parametrů předaných v parametru hodnot musí odpovídat počtu proměnných v šabloně. Pokud ne, FormatException je vyvolán.
Poznámka
V poli hodnot parametrů je možné předat text, který zabraňuje vygenerovanému identifikátoru URI, aby odpovídal šabloně použité k vygenerování. Mezi příklady takového textu patří: /, .,.., *, {, a }. Tento fakt ukazuje následující kód.
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