UriTemplate.BindByPosition(Uri, String[]) Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Cria um novo URI a partir do template e um array de valores de parâmetros.
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
Parâmetros
- values
- String[]
Os valores dos parâmetros.
Devoluções
Uma nova Uri instância.
Exemplos
O exemplo seguinte mostra como chamar o 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")
Observações
Os valores dos parâmetros estão limitados pela posição da esquerda para a direita. O valor do primeiro parâmetro substitui a primeira variável encontrada no modelo, o segundo valor do parâmetro substitui a segunda variável, e assim sucessivamente. As variáveis passadas para este método são escapadas.
Note
O número de parâmetros passados no parâmetro de valores deve corresponder ao número de variáveis no modelo. Se não, lança-se a.FormatException
Note
É possível passar texto dentro do array de valores de parâmetros que impede que o URI gerado coincida com o modelo usado para o gerar. Exemplos deste tipo de texto incluem: '/', '.','.', '*', '{', e '}'. O código a seguir demonstra isso.
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