UriTemplateTable Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Třída, která představuje asociativní sadu UriTemplate objektů.
public ref class UriTemplateTable
public class UriTemplateTable
type UriTemplateTable = class
Public Class UriTemplateTable
- Dědičnost
-
UriTemplateTable
Příklady
Následující kód ukazuje, jak vytvořit UriTemplateTable, naplnit jej a použít jej k porovnání s kandidátem 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);
}
}
Dim prefix As New Uri("http://localhost/")
' Create a series of templates
Dim weatherByCity As New UriTemplate("weather/ state}/ city}")
Dim weatherByCountry As New UriTemplate("weather/ country}/ village}")
Dim weatherByState As New UriTemplate("weather/ state}")
Dim traffic As New UriTemplate("traffic/*")
Dim wildcard As New UriTemplate("*")
' Create a template table
Dim table As New UriTemplateTable(prefix)
' Add each template to the table with some associated data
table.KeyValuePairs.Add(New KeyValuePair(Of UriTemplate, Object)(weatherByCity, "weatherByCity"))
table.KeyValuePairs.Add(New KeyValuePair(Of UriTemplate, Object)(weatherByCountry, "weatherByCountry"))
table.KeyValuePairs.Add(New KeyValuePair(Of UriTemplate, Object)(weatherByState, "weatherByState"))
table.KeyValuePairs.Add(New KeyValuePair(Of UriTemplate, Object)(traffic, "traffic"))
table.MakeReadOnly(True)
Console.WriteLine("KeyValuePairs:")
For Each keyPair As KeyValuePair(Of UriTemplate, Object) In table.KeyValuePairs
Console.WriteLine(" 0}, 1}", keyPair.Key, keyPair.Value)
Next
Console.WriteLine()
' Call MatchSingle to retrieve some match results:
Dim results As System.Collections.Generic.ICollection(Of UriTemplateMatch) = Nothing
Dim weatherInSeattle As Uri = New Uri("http://localhost/weather/Washington/Seattle")
results = table.Match(weatherInSeattle)
If results IsNot Nothing Then
Console.WriteLine("Matching templates:")
For Each match As UriTemplateMatch In results
Console.WriteLine(" 0}", match.Template)
Next
End If
Poznámky
A UriTemplateTable je asociativní sada UriTemplate objektů svázaných s objektem výběru vývojáře. Umožňuje spárovat kandidátské identifikátory URI (Uniform Resource Identifier) vůči šablonám v sadě a načíst data přidružená k odpovídajícím šablonám. Obsah UriTemplateTable lze změnit, dokud MakeReadOnly(Boolean) se metoda nevolá, kdy dojde k jednomu z následujících typů ověření:
Při MakeReadOnly(Boolean) volání předávání
falseUriTemplateTable zkontroluje, že tabulka neobsahuje více strukturálně ekvivalentních šablon. Pokud takové šablony najde, vyvolá výjimku. Tento typ ověřování se používá ve spojení s MatchSingle(Uri) tím, že chcete zajistit, aby příchozí identifikátor URI odpovídal pouze jedné šabloně.Pokud MakeReadOnly(Boolean) se nazývá předávání
true, více strukturálně ekvivalentní šablony mohou být obsaženy v objektu UriTemplateTable. Nicméně všechny řetězce dotazu v šablonách nesmí být nejednoznačné; Jsou povoleny identické řetězce dotazu. Další informace o nejednoznačných řetězcích dotazu naleznete v tématu UriTemplate a UriTemplateTable.
Konstruktory
| Name | Description |
|---|---|
| UriTemplateTable() |
Inicializuje novou instanci UriTemplateTable třídy. |
| UriTemplateTable(IEnumerable<KeyValuePair<UriTemplate,Object>>) |
Inicializuje novou instanci UriTemplateTable třídy se zadanou kolekcí párů klíč/hodnota. |
| UriTemplateTable(Uri, IEnumerable<KeyValuePair<UriTemplate,Object>>) |
Inicializuje novou instanci UriTemplateTable třídy se zadanou základní adresou a kolekcí párů klíč/hodnota. |
| UriTemplateTable(Uri) |
Inicializuje novou instanci UriTemplateTable třídy se zadanou základní adresou. |
Vlastnosti
| Name | Description |
|---|---|
| BaseAddress |
Získá nebo nastaví základní adresu instance UriTemplateTable . |
| IsReadOnly |
Získá hodnotu, která určuje, zda je jen pro UriTemplateTable čtení. |
| KeyValuePairs |
Získá kolekci párů klíč/hodnota, které se skládají z UriTemplate objektů a jejich přidružených dat. |
| OriginalBaseAddress |
Získá původní základní adresu. |
Metody
| Name | Description |
|---|---|
| Equals(Object) |
Určuje, zda je zadaný objekt roven aktuálnímu objektu. (Zděděno od Object) |
| GetHashCode() |
Slouží jako výchozí funkce hash. (Zděděno od Object) |
| GetType() |
Získá Type aktuální instance. (Zděděno od Object) |
| MakeReadOnly(Boolean) |
Nastaví jen pro UriTemplateTable čtení. |
| Match(Uri) |
Pokusí se shodovat s kandidátem UriUriTemplateTable. |
| MatchSingle(Uri) |
Pokusí se shodovat s kandidátem UriUriTemplateTable. |
| MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Object. (Zděděno od Object) |
| ToString() |
Vrátí řetězec, který představuje aktuální objekt. (Zděděno od Object) |