Поделиться через


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

Параметры

baseAddress
Uri

Объект Uri, содержащий базовый адрес.

values
String[]

Значения параметров.

Возвращаемое значение

Uri

Новый экземпляр 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

Применяется к