XamlReader 類別

定義

針對會使用 XAML 輸入來產生 XAML 節點資料流的類別,提供基底定義。

public ref class XamlReader abstract : IDisposable
public abstract class XamlReader : IDisposable
type XamlReader = class
    interface IDisposable
Public MustInherit Class XamlReader
Implements IDisposable
繼承
XamlReader
衍生
實作

備註

XamlReader 是抽象類別,不提供實作或定義,這些實作或定義具有所有成員的工作結果。 在 中 XamlReader 具有 實作的成員,會在該成員的備註中指出。 具體來說, XamlReader 有數個必須實作的抽象成員,以及數個虛擬成員。

虛擬成員的 ,而且 Skip 每個都 ReadSubtree 提供適用于大部分案例的預設實作。 不過, ReadSubtreeSkip 預設實作依賴實作 XAML 讀取器的其他預期行為;特別是,它們依賴 Read 覆寫。 Dispose 也是具有運作中預設實作的虛擬成員。

下列兩個類別是.NET Framework XAML 服務和 System.Xaml 元件中最相關的實際衍生類別:

  • XamlObjectReader,它會讀取物件圖形,例如執行時間應用程式的作用中物件圖形。

  • XamlXmlReader,它會使用將檔案載入為中繼協助程式類別的一般 XmlReader ,以 XML 文字檔的形式讀取 XAML。

其他架構的其他 XAML 讀取器包括 Baml2006ReaderXamlDebuggerXmlReader

XamlReader 不同于 XML 檔物件模型 (DOM) 和 XmlReader 設計原則,因為 XamlReader 沒有 Create 傳回基礎預設 XAML 讀取器實作的方法。 您必須改為呼叫特定衍生的 XAML 讀取器類別,方法是呼叫其建構函式或其他特定類別的協助程式 API 來具現化。

子樹讀取器

在大部分情況下,您會在特定衍生自 XamlReader 的特定 XAML 讀取器類別內容中呼叫 XamlReader API。 不過,在一個特定情況下,您會在不是公用且不是衍生自 XamlObjectReaderXamlXmlReader 的實際 XAML 讀取器實例上存取 XamlReader API。 這是當您呼叫 ReadSubtree 時,它會傳 XamlReader 回 實例。 在預設實作中, XamlReader 這個 API 傳回的 是內部類別。

針對子樹讀取取得的 具有 XamlReader 和 等 ReadNodeType API 的有效動作,而且這些動作是以父讀取器類別為基礎。 此設計可讓內部類別追蹤輸入子樹的框架層級。 作用中的子樹 XamlReader 可確保如果目前的節點位置超出子樹的界限,則特定子樹讀取器會報告檔案結尾或 null 目前節點。

特定 XamlReader API 包含子樹讀取器使用量的相關注意事項。

建構函式

XamlReader()

初始化 XamlReader 類別。

屬性

IsDisposed

取得是否已呼叫 Dispose(Boolean)

IsEof

在衍生類別中實作時取得值,這個值會報告讀取器位置是否在檔案結尾。

Member

在衍生類別中實作時,如果讀取器位置在 StartMember 上,則取得讀取器位置上的目前成員。

Namespace

在衍生類別中實作時,從目前節點取得 XAML 命名空間資訊。

NodeType

在衍生類別中實作時,會取得目前節點的型別。

SchemaContext

在衍生類別中實作時取得物件,這個物件會為資訊集提供 XAML 結構描述內容資訊。

Type

在衍生類別中實作時,會取得目前節點的 XamlType

Value

在衍生類別中實作時,會取得目前節點的值。

方法

Close()

關閉 XAML 節點資料流。

Dispose(Boolean)

釋放 XamlReader 所使用的 Unmanaged 資源,並選擇性釋放 Managed 資源。

Equals(Object)

判斷指定的物件是否等於目前的物件。

(繼承來源 Object)
GetHashCode()

做為預設雜湊函式。

(繼承來源 Object)
GetType()

取得目前執行個體的 Type

(繼承來源 Object)
MemberwiseClone()

建立目前 Object 的淺層複製。

(繼承來源 Object)
Read()

在衍生類別中實作時,會從來源提供下一個 XAML 節點 (如果有節點的話)。

ReadSubtree()

傳回以目前 XamlReader 為基礎的 XamlReader,而傳回的 XamlReader 可用來逐一查看 XAML 節點結構的子樹狀結構。

Skip()

略過目前節點,並使讀取器位置前進至下一個節點。

ToString()

傳回代表目前物件的字串。

(繼承來源 Object)

明確介面實作

IDisposable.Dispose()

釋放 XamlReader 類別目前的執行個體所使用的全部資源。

適用於

另請參閱