UriTemplateTable Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Eine Klasse, die einen assoziativen Satz von UriTemplate Objekten darstellt.
public ref class UriTemplateTable
public class UriTemplateTable
type UriTemplateTable = class
Public Class UriTemplateTable
- Vererbung
-
UriTemplateTable
Beispiele
Der folgende Code zeigt, wie Sie einen Kandidaten UriTemplateTableerstellen, füllen und verwenden, um es mit einem Kandidaten Uriabzugleichen.
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
Hinweise
A UriTemplateTable ist eine assoziative Gruppe von UriTemplate Objekten, die an ein Objekt der Auswahl des Entwicklers gebunden sind. Damit können Sie die Kandidaten-URIs (Uniform Resource Identifiers) mit den Vorlagen im Satz abgleichen und die mit den übereinstimmenden Vorlagen verknüpften Daten abrufen. Der Inhalt kann UriTemplateTable geändert werden, bis die MakeReadOnly(Boolean) Methode aufgerufen wird, zu dem Zeitpunkt, zu dem einer der folgenden Überprüfungstypen eintritt:
Wenn MakeReadOnly(Boolean) die Übergabe
falseaufgerufen wird, überprüft die UriTemplateTable Überprüfung, um sicherzustellen, dass die Tabelle keine strukturell gleichwertigen Vorlagen enthält. Wenn diese Vorlagen gefunden werden, löst sie eine Ausnahme aus. Diese Art der Überprüfung wird in Verbindung mit MatchSingle(Uri) verwendet, wenn Sie sicherstellen möchten, dass nur eine Vorlage mit einem eingehenden URI übereinstimmt.Wenn MakeReadOnly(Boolean) die Übergabe
trueaufgerufen wird, können mehrere strukturell gleichwertige Vorlagen in einer UriTemplateTable. Alle Abfragezeichenfolgen in den Vorlagen dürfen jedoch nicht mehrdeutig sein; Identische Abfragezeichenfolgen sind zulässig. Weitere Informationen zu mehrdeutigen Abfragezeichenfolgen finden Sie unter UriTemplate und UriTemplateTable.
Konstruktoren
| Name | Beschreibung |
|---|---|
| UriTemplateTable() |
Initialisiert eine neue Instanz der UriTemplateTable-Klasse. |
| UriTemplateTable(IEnumerable<KeyValuePair<UriTemplate,Object>>) |
Initialisiert eine neue Instanz der UriTemplateTable Klasse mit der angegebenen Auflistung von Schlüssel-Wert-Paaren. |
| UriTemplateTable(Uri, IEnumerable<KeyValuePair<UriTemplate,Object>>) |
Initialisiert eine neue Instanz der UriTemplateTable Klasse mit der angegebenen Basisadresse und Sammlung von Schlüssel-Wert-Paaren. |
| UriTemplateTable(Uri) |
Initialisiert eine neue Instanz der UriTemplateTable Klasse mit der angegebenen Basisadresse. |
Eigenschaften
| Name | Beschreibung |
|---|---|
| BaseAddress |
Ruft die Basisadresse für die Instanz ab oder legt sie UriTemplateTable fest. |
| IsReadOnly |
Ruft einen Wert ab, der angibt, ob der UriTemplateTable Wert schreibgeschützt ist. |
| KeyValuePairs |
Ruft eine Auflistung von Schlüssel-Wert-Paaren ab, die aus Objekten und den zugehörigen Daten bestehen UriTemplate . |
| OriginalBaseAddress |
Ruft die ursprüngliche Basisadresse ab. |
Methoden
| Name | Beschreibung |
|---|---|
| Equals(Object) |
Bestimmt, ob das angegebene Objekt dem aktuellen Objekt entspricht. (Geerbt von Object) |
| GetHashCode() |
Dient als Standardhashfunktion. (Geerbt von Object) |
| GetType() |
Ruft die Type der aktuellen Instanz ab. (Geerbt von Object) |
| MakeReadOnly(Boolean) |
UriTemplateTable Schreibgeschützt. |
| Match(Uri) |
Versucht, einen Kandidaten Uri mit dem UriTemplateTable. |
| MatchSingle(Uri) |
Versucht, einen Kandidaten Uri mit dem UriTemplateTable. |
| MemberwiseClone() |
Erstellt eine flache Kopie der aktuellen Object. (Geerbt von Object) |
| ToString() |
Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Geerbt von Object) |