UriTemplateMatch 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
一個代表對實例進行匹配操作 UriTemplate 結果的類別。
public ref class UriTemplateMatch
public class UriTemplateMatch
type UriTemplateMatch = class
Public Class UriTemplateMatch
- 繼承
-
UriTemplateMatch
範例
以下程式碼說明如何使用這個 UriTemplateMatch 類別。
UriTemplate template = new UriTemplate("weather/{state}/{city}?forecast=today");
Uri baseAddress = new Uri("http://localhost");
Uri fullUri = new Uri("http://localhost/weather/WA/Seattle?forecast=today");
Console.WriteLine("Matching {0} to {1}", template.ToString(), fullUri.ToString());
// Match a URI to a template
UriTemplateMatch results = template.Match(baseAddress, fullUri);
if (results != null)
{
// BaseUri
Console.WriteLine("BaseUri: {0}", results.BaseUri);
Console.WriteLine("BoundVariables:");
foreach (string variableName in results.BoundVariables.Keys)
{
Console.WriteLine(" {0}: {1}", variableName, results.BoundVariables[variableName]);
}
Console.WriteLine("QueryParameters:");
foreach (string queryName in results.QueryParameters.Keys)
{
Console.WriteLine(" {0} : {1}", queryName, results.QueryParameters[queryName]);
}
Console.WriteLine();
Console.WriteLine("RelativePathSegments:");
foreach (string segment in results.RelativePathSegments)
{
Console.WriteLine(" {0}", segment);
}
Console.WriteLine();
Console.WriteLine("RequestUri:");
Console.WriteLine(results.RequestUri);
Console.WriteLine("Template:");
Console.WriteLine(results.Template);
Console.WriteLine("WildcardPathSegments:");
foreach (string segment in results.WildcardPathSegments)
{
Console.WriteLine(" {0}", segment);
}
Console.WriteLine();
}
Dim template As New UriTemplate("weather/{state}/{city}?forecast=today")
Dim baseAddress As New Uri("http://localhost")
Dim fullUri As New Uri("http://localhost/weather/WA/Seattle?forecast=today")
Console.WriteLine("Matching {0} to {1}", template.ToString(), fullUri.ToString())
'Match a URI to a template
Dim results As UriTemplateMatch = template.Match(baseAddress, fullUri)
If (results IsNot Nothing) Then
'BaseUri
Console.WriteLine("BaseUri: {0}", results.BaseUri)
Console.WriteLine("BoundVariables:")
For Each variableName As String In results.BoundVariables.Keys
Console.WriteLine(" {0}: {1}", variableName, results.BoundVariables(variableName))
Next
Console.WriteLine("QueryParameters:")
For Each queryName As String In results.QueryParameters.Keys
Console.WriteLine(" {0} : {1}", queryName, results.QueryParameters(queryName))
Next
Console.WriteLine()
Console.WriteLine("RelativePathSegments:")
For Each segment As String In results.RelativePathSegments
Console.WriteLine(" {0}", segment)
Next
Console.WriteLine()
Console.WriteLine("RequestUri:")
Console.WriteLine(results.RequestUri)
Console.WriteLine("Template:")
Console.WriteLine(results.Template)
Console.WriteLine("WildcardPathSegments:")
For Each segment As String In results.WildcardPathSegments
Console.WriteLine(" {0}", segment)
Next
Console.WriteLine()
End If
備註
該 UriTemplateMatch 類別代表呼叫該 Match(Uri, Uri) 方法的結果。 這個類別不支援執行緒安全。
建構函式
| 名稱 | Description |
|---|---|
| UriTemplateMatch() |
初始化 UriTemplateMatch 類別的新執行個體。 |
屬性
| 名稱 | Description |
|---|---|
| BaseUri |
取得或設定模板匹配的基礎 URI。 |
| BoundVariables |
取得 |
| Data |
取得或設定與 UriTemplateMatch 實例相關的物件。 |
| QueryParameters |
取得一組查詢字串參數及其值。 |
| RelativePathSegments |
會得到一組相對路徑段。 |
| RequestUri |
取得或設定匹配的 URI。 |
| Template |
取得或設定 UriTemplate 與此 UriTemplateMatch 實例相關聯的實例。 |
| WildcardPathSegments |
會取得一組路徑段,這些段子在 URI 範本中被通配符匹配。 |
方法
| 名稱 | Description |
|---|---|
| Equals(Object) |
判斷指定的物件是否等於目前的物件。 (繼承來源 Object) |
| GetHashCode() |
做為預設哈希函式。 (繼承來源 Object) |
| GetType() |
取得目前實例的 Type。 (繼承來源 Object) |
| MemberwiseClone() |
建立目前 Object的淺層複本。 (繼承來源 Object) |
| ToString() |
傳回表示目前 物件的字串。 (繼承來源 Object) |