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")
Комментарии
Значения параметров привязываются по позиции (слева направо). Значение первого параметра заменяет первую переменную в шаблоне, значение второго параметра — вторую переменную в шаблоне и т. д. Значения, передаваемые этому методу, преобразуются в escape-последовательности.
Примечание
Количество параметров, передаваемых в параметре значений, должно соответствовать количеству переменных в шаблоне. В противном случае выдается исключение FormatException.
Примечание
В массиве значений параметров можно передать текст, не позволяющий сопоставить сформированный 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