XamlSchemaContext 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
定義一個可重複使用的上下文,用於解讀或映射 XAML 類型及其底層組件中的型態。
public ref class XamlSchemaContext
public class XamlSchemaContext
type XamlSchemaContext = class
Public Class XamlSchemaContext
- 繼承
-
XamlSchemaContext
備註
XAML 架構上下文提供一層抽象,連接 XAML 的結構或詞彙,與特定的解析器實作。 透過插入結構上下文的概念,該結構可以與不同的 XAML 解析器一起使用,而結構上下文則填補與特定 XAML 解析器互動所需的細節。 例如,XAML 架構上下文提供與 XAML 概念或 CLR 綁定至 XAML 型別系統相關的查詢 API。 XAML 架構上下文也負責維護已載入的組裝檔清單,定義 XAML 解析器尋找後台型別的位置。
給繼承者的注意事項
在 AppDomain中,a XamlSchemaContext 可以被多個呼叫者共享,包括完全與部分信任呼叫者。 這種情況存在於像 WPF 這樣的框架中,這些框架為 WPF 應用模型的部分 XAML 載入提供部分信任存取。 預設 XamlSchemaContext 實作在此情境下提供保障,保持所有屬性與設定不變。 衍生實作也應考慮遵循此不變性模型,以設定 XAML 架構上下文的屬性與設定。
XamlSchemaContext基底類別的設計是讓查詢不會有外部可觀察的副作用。 API 在基類中所參考 XamlSchemaContext 的類型,例如 XamlType 或 XamlMember,也不會產生查詢的副作用。 所有用於結構判定所需的資料都應來自 的建構與設定 AppDomain。 請注意,查詢 API 並不依賴明確傳入的服務;他們的輸入僅依賴字串輸入。
XamlSchemaContext基底類別 和 XamlType 和 XamlMember 在其基礎實作中都是執行緒安全的。 如果你衍生自 XamlSchemaContext 或衍生出像 和 這樣的 XAML 類型系統類別 XamlTypeXamlMember ,你可以選擇類別是否執行緒安全。
建構函式
| 名稱 | Description |
|---|---|
| XamlSchemaContext() |
初始化 XamlSchemaContext 類別的新執行個體。 |
| XamlSchemaContext(IEnumerable<Assembly>, XamlSchemaContextSettings) |
根據一組參考組件和一個設定物件初始化該 XamlSchemaContext 類別的新實例。 |
| XamlSchemaContext(IEnumerable<Assembly>) |
根據一組參考組件初始化該 XamlSchemaContext 類別的新實例。 |
| XamlSchemaContext(XamlSchemaContextSettings) |
根據 settings 物件初始化該 XamlSchemaContext 類別的新實例。 |
屬性
| 名稱 | Description |
|---|---|
| FullyQualifyAssemblyNamesInClrNamespaces |
會取得一個值,指定 XAML 結構及其上下文是否在查詢 API 回傳的值中使用完全限定的組合名稱。 |
| ReferenceAssemblies |
取得一組可枚舉的 XAML 架構上下文參考組件。 |
| SupportMarkupExtensionsWithDuplicateArity |
會得到一個值,指定 XAML 架構及其上下文是否支援具有兩個構造子且參數數相同的標記擴充。 |
方法
| 名稱 | Description |
|---|---|
| Equals(Object) |
判斷指定的物件是否等於目前的物件。 (繼承來源 Object) |
| Finalize() |
提供一種非標準 |
| GetAllXamlNamespaces() |
搜尋由此 XamlSchemaContext 方法所持有的組裝,並回傳一組命名空間。 |
| GetAllXamlTypes(String) |
搜尋此 XamlSchemaContext 系統所持有的組件,並從指定的 XAML 命名空間回傳一組型別。 |
| GetHashCode() |
做為預設哈希函式。 (繼承來源 Object) |
| GetPreferredPrefix(String) |
取得一個字串,作為使用者在映射指定 XAML 命名空間時使用的首選前綴。 |
| GetType() |
取得目前實例的 Type。 (繼承來源 Object) |
| GetValueConverter<TConverterBase>(Type, XamlType) |
回傳一個可轉換為所需 |
| GetXamlDirective(String, String) |
回傳 XamlDirective 一個代表指令的值,無論是針對 XAML 語言還是特定實作。 |
| GetXamlType(String, String, XamlType[]) |
回傳基於 XAML 命名空間及型別名稱字串的 a XamlType 。 此簽名可指定類型參數,適用於期望類型為通用型態的情況。 |
| GetXamlType(Type) |
回傳基於 CLR 類型識別碼的 a XamlType 。 |
| GetXamlType(XamlTypeName) |
回傳基於 XAML 系統類型名稱的 a XamlType 。 |
| MemberwiseClone() |
建立目前 Object的淺層複本。 (繼承來源 Object) |
| OnAssemblyResolve(String) |
當操作使用此結構上下文來解析一個為解析其所包含的 XAML 命名空間所需的組件時,會呼叫此系統。 |
| ToString() |
傳回表示目前 物件的字串。 (繼承來源 Object) |
| TryGetCompatibleXamlNamespace(String, String) |
回傳相容 XAML 命名空間請求的成功或失敗。 成功請求會將該 XAML 命名空間作為 out 參數回報。 |