Ler em inglês

Partilhar via


UriTemplateTable Classe

Definição

Uma classe que representa um conjunto associativo de objetos UriTemplate.

public class UriTemplateTable
Herança
UriTemplateTable

Exemplos

O código a seguir mostra como criar um UriTemplateTable, preenchê-lo e usá-lo para corresponder a um candidato Uri.

Uri prefix = new Uri("http://localhost/");

//Create a series of templates
UriTemplate weatherByCity  = new UriTemplate("weather/{state}/{city}");
UriTemplate weatherByCountry = new UriTemplate("weather/{country}/{village}");
UriTemplate weatherByState = new UriTemplate("weather/{state}");
UriTemplate traffic = new UriTemplate("traffic/*");
UriTemplate wildcard = new UriTemplate("*");

//Create a template table
UriTemplateTable table = new UriTemplateTable(prefix);
//Add each template to the table with some associated data
table.KeyValuePairs.Add(new KeyValuePair<UriTemplate, Object>(weatherByCity, "weatherByCity"));
table.KeyValuePairs.Add(new KeyValuePair<UriTemplate, Object>(weatherByCountry, "weatherByCountry"));
table.KeyValuePairs.Add(new KeyValuePair<UriTemplate, Object>(weatherByState, "weatherByState"));
table.KeyValuePairs.Add(new KeyValuePair<UriTemplate, Object>(traffic, "traffic"));

table.MakeReadOnly(true);
Console.WriteLine("KeyValuePairs:");
foreach (KeyValuePair<UriTemplate, Object> keyPair in table.KeyValuePairs)
{
    Console.WriteLine($"{keyPair.Key}, {keyPair.Value}");
}

Console.WriteLine();

//Call MatchSingle to retrieve some match results:
ICollection<UriTemplateMatch> results = null;
Uri weatherInSeattle = new Uri("http://localhost/weather/Washington/Seattle");

results = table.Match(weatherInSeattle);
if( results != null)
{
    Console.WriteLine("Matching templates:");
    foreach (UriTemplateMatch match in results)
    {
        Console.WriteLine(match.Template);
    }
}

Comentários

Um UriTemplateTable é um conjunto associativo de UriTemplate objetos associados a um objeto de escolha do desenvolvedor. Ele permite que você corresponda aos URIs (Uniform Resource Identifiers) candidatos com os modelos no conjunto e recupere os dados associados aos modelos correspondentes. O conteúdo de UriTemplateTable pode ser alterado até que o MakeReadOnly(Boolean) método seja chamado, momento em que ocorre um dos seguintes tipos de validação:

  • Quando MakeReadOnly(Boolean) é chamado de passagem false, as UriTemplateTable verificações para garantir que a tabela não contenha vários modelos estruturalmente equivalentes. Se encontrar esses modelos, ele gerará uma exceção. Esse tipo de validação é usado em conjunto com MatchSingle(Uri) quando você deseja garantir que apenas um modelo corresponda a um URI de entrada.

  • Quando MakeReadOnly(Boolean) é chamado de passagem, truevários modelos estruturalmente equivalentes podem ser contidos em um UriTemplateTable. No entanto, todas as cadeias de caracteres de consulta nos modelos não devem ser ambíguas; cadeias de caracteres de consulta idênticas são permitidas. Para obter mais informações sobre cadeias de caracteres de consulta ambíguas, consulte UriTemplate e UriTemplateTable.

Construtores

UriTemplateTable()

Inicializa uma nova instância da classe UriTemplateTable.

UriTemplateTable(IEnumerable<KeyValuePair<UriTemplate,Object>>)

Inicializa uma nova instância da classe UriTemplateTable com a coleção especificada de pares chave/valor.

UriTemplateTable(Uri)

Inicializa uma nova instância da classe UriTemplateTable com o endereço básico especificado.

UriTemplateTable(Uri, IEnumerable<KeyValuePair<UriTemplate,Object>>)

Inicializa uma nova instância da classe UriTemplateTable com o endereço básico e a coleção de pares chave/valor especificados.

Propriedades

BaseAddress

Obtém ou define o endereço básico da instância UriTemplateTable.

IsReadOnly

Obtém um valor que especifica se o UriTemplateTable é somente leitura.

KeyValuePairs

Obtém uma coleção de pares chave/valor composta de objetos UriTemplate e seus dados associados.

OriginalBaseAddress

Obtém o endereço básico original.

Métodos

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetHashCode()

Serve como a função de hash padrão.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
MakeReadOnly(Boolean)

Torna o UriTemplateTable somente leitura.

Match(Uri)

Tenta corresponder um Uri candidato ao UriTemplateTable.

MatchSingle(Uri)

Tenta corresponder um Uri candidato ao UriTemplateTable.

MemberwiseClone()

Cria uma cópia superficial do Object atual.

(Herdado de Object)
ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)

Aplica-se a

Produto Versões
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1