UriTemplate.BindByPosition(Uri, String[]) Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Tworzy nowy identyfikator URI z szablonu i tablicę wartości parametrów.
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[]
Wartości parametrów.
Zwraca
Nowe Uri wystąpienie.
Przykłady
W poniższym przykładzie pokazano, jak wywołać metodę 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")
Uwagi
Wartości parametrów są powiązane z położeniem od lewej do prawej. Pierwsza wartość parametru zastępuje pierwszą zmienną znalezioną w szablonie, drugą wartość parametru zastępuje drugą zmienną itd. Zmienne przekazywane do tej metody są ucieczki.
Uwaga
Liczba parametrów przekazanych w parametrze wartości musi być zgodna z liczbą zmiennych w szablonie. Jeśli tak nie jest, FormatException jest zgłaszany.
Uwaga
Istnieje możliwość przekazania tekstu w tablicy wartości parametrów, która uniemożliwia wygenerowanemu identyfikatorowi URI dopasowanie szablonu używanego do jego wygenerowania. Przykłady takiego tekstu obejmują: "/", ".",".", "*", "{" i "}". Poniższy kod pokazuje to.
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