UriTemplateTable Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Classe qui représente un jeu associatif d'objets UriTemplate.
public ref class UriTemplateTable
public class UriTemplateTable
type UriTemplateTable = class
Public Class UriTemplateTable
- Héritage
-
UriTemplateTable
Exemples
Le code suivant indique comment créer un objet UriTemplateTable, le remplir et l'utiliser pour établir une correspondance par rapport à un objet Uri de candidat.
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
Remarques
Un objet UriTemplateTable est un jeu associatif d'objets UriTemplate liés à un objet choisi par le développeur. Elle vous permet de faire correspondre les URI (Uniform Resource Identifiers) des candidats par rapport aux modèles du jeu et de récupérer les données associées aux modèles correspondants. Le contenu de l’objet UriTemplateTable peut être modifié jusqu’à ce que la méthode MakeReadOnly(Boolean) soit appelée, auquel cas l’un des types de validation suivants intervient :
Lorsqu’il MakeReadOnly(Boolean) est appelé passage
false
, les UriTemplateTable vérifications pour s’assurer que la table ne contient pas plusieurs modèles structurellement équivalents. Si elle recherche des modèles de ce type, elle lève une exception. Ce type de validation est utilisé conjointement à la méthode MatchSingle(Uri) lorsque vous souhaitez garantir qu’un seul modèle correspond à un URI entrant.Lorsqu’il MakeReadOnly(Boolean) est appelé passage
true
, plusieurs modèles structurellement équivalents peuvent être contenus dans un UriTemplateTable. Toutefois, toutes les chaînes de demande des modèles ne doivent pas être ambiguës ; les chaînes de demande identiques sont autorisées. Pour plus d’informations sur les chaînes de requête ambiguës, consultez UriTemplate et UriTemplateTable.
Constructeurs
UriTemplateTable() |
Initialise une nouvelle instance de la classe UriTemplateTable. |
UriTemplateTable(IEnumerable<KeyValuePair<UriTemplate,Object>>) |
Initialise une nouvelle instance de la classe UriTemplateTable avec la collection spécifiée de paires clé/valeur. |
UriTemplateTable(Uri) |
Initialise une nouvelle instance de la classe UriTemplateTable avec l'adresse de base spécifiée. |
UriTemplateTable(Uri, IEnumerable<KeyValuePair<UriTemplate,Object>>) |
Initialise une nouvelle instance de la classe UriTemplateTable avec l’adresse de base spécifiée et la collection de paires clé/valeur. |
Propriétés
BaseAddress |
Obtient ou définit l’adresse de base de l’instance UriTemplateTable. |
IsReadOnly |
Obtient une valeur qui spécifie si l'objet UriTemplateTable est en lecture seule. |
KeyValuePairs |
Obtient une collection de paires clé/valeur qui se composent d’objets UriTemplate et de leurs données associées. |
OriginalBaseAddress |
Obtient l'adresse de base d'origine. |
Méthodes
Equals(Object) |
Détermine si l'objet spécifié est égal à l'objet actuel. (Hérité de Object) |
GetHashCode() |
Fait office de fonction de hachage par défaut. (Hérité de Object) |
GetType() |
Obtient le Type de l'instance actuelle. (Hérité de Object) |
MakeReadOnly(Boolean) |
Met UriTemplateTable en lecture seule. |
Match(Uri) |
Tente de faire correspondre un Uri candidat et UriTemplateTable. |
MatchSingle(Uri) |
Tente de faire correspondre un Uri candidat et UriTemplateTable. |
MemberwiseClone() |
Crée une copie superficielle du Object actuel. (Hérité de Object) |
ToString() |
Retourne une chaîne qui représente l'objet actuel. (Hérité de Object) |