UriTemplate.BindByPosition(Uri, String[]) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Создает новый универсальный код ресурса (URI) из шаблона и массив значений параметров.
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
Параметры
- values
- String[]
Значения параметров.
Возвращаемое значение
Новый Uri экземпляр.
Примеры
В следующем примере показано, как вызвать 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")
Комментарии
Значения параметров привязаны по позиции слева направо. Первое значение параметра заменяет первую переменную, найденную в шаблоне, значение второго параметра заменяет вторую переменную и т. д. Переменные, передаваемые этому методу, экранируются.
Note
Число параметров, переданных в параметре значений, должно соответствовать количеству переменных в шаблоне. Если нет, FormatException создается исключение.
Note
Можно передать текст в массиве значений параметров, который предотвращает сопоставление созданного URI шаблона, используемого для его создания. Примеры такого текста включают: "/", ".", ".".", "*", "{" и "}". В следующем коде показано это.
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