UriTemplateTable Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Classe che rappresenta un set associativo di UriTemplate oggetti.
public ref class UriTemplateTable
public class UriTemplateTable
type UriTemplateTable = class
Public Class UriTemplateTable
- Ereditarietà
-
UriTemplateTable
Esempio
Il codice seguente illustra come creare un UriTemplateTableoggetto , popolarlo e usarlo per trovare una corrispondenza con un 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);
}
}
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
Commenti
Un UriTemplateTable oggetto è un set associativo di UriTemplate oggetti associati a un oggetto scelto dallo sviluppatore. Consente di associare gli URI (Uniform Resource Identifier) candidati ai modelli nel set e recuperare i dati associati ai modelli corrispondenti. Il contenuto di UriTemplateTable può essere modificato fino a quando non viene chiamato il MakeReadOnly(Boolean) metodo , al momento in cui si verifica uno dei tipi di convalida seguenti:
Quando MakeReadOnly(Boolean) viene chiamato il passaggio di
false, i UriTemplateTable controlli per assicurarsi che la tabella non contenga più modelli strutturalmente equivalenti. Se trova tali modelli, genera un'eccezione. Questo tipo di convalida viene usato insieme MatchSingle(Uri) a quando si vuole garantire che un solo modello corrisponda a un URI in ingresso.Quando MakeReadOnly(Boolean) viene chiamato il passaggio di
true, più modelli strutturalmente equivalenti possono essere contenuti all'interno di un oggetto UriTemplateTable. Tuttavia, qualsiasi stringa di query nei modelli non deve essere ambigua; sono consentite stringhe di query identiche. Per altre informazioni sulle stringhe di query ambigue, vedere UriTemplate e UriTemplateTable.
Costruttori
| Nome | Descrizione |
|---|---|
| UriTemplateTable() |
Inizializza una nuova istanza della classe UriTemplateTable. |
| UriTemplateTable(IEnumerable<KeyValuePair<UriTemplate,Object>>) |
Inizializza una nuova istanza della UriTemplateTable classe con la raccolta specificata di coppie chiave/valore. |
| UriTemplateTable(Uri, IEnumerable<KeyValuePair<UriTemplate,Object>>) |
Inizializza una nuova istanza della UriTemplateTable classe con l'indirizzo di base e la raccolta di coppie chiave/valore specificate. |
| UriTemplateTable(Uri) |
Inizializza una nuova istanza della UriTemplateTable classe con l'indirizzo di base specificato. |
Proprietà
| Nome | Descrizione |
|---|---|
| BaseAddress |
Ottiene o imposta l'indirizzo di base per l'istanza UriTemplateTable di . |
| IsReadOnly |
Ottiene un valore che specifica se l'oggetto UriTemplateTable è di sola lettura. |
| KeyValuePairs |
Ottiene una raccolta di coppie chiave/valore costituite da UriTemplate oggetti e dati associati. |
| OriginalBaseAddress |
Ottiene l'indirizzo di base originale. |
Metodi
| Nome | Descrizione |
|---|---|
| Equals(Object) |
Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object) |
| GetHashCode() |
Funge da funzione hash predefinita. (Ereditato da Object) |
| GetType() |
Ottiene il Type dell'istanza corrente. (Ereditato da Object) |
| MakeReadOnly(Boolean) |
Rende la UriTemplateTable sola lettura. |
| Match(Uri) |
Tenta di associare un candidato Uri all'oggetto UriTemplateTable. |
| MatchSingle(Uri) |
Tenta di associare un candidato Uri all'oggetto UriTemplateTable. |
| MemberwiseClone() |
Crea una copia superficiale del Objectcorrente. (Ereditato da Object) |
| ToString() |
Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object) |