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 读取器实现的方法。 必须改为通过调用其构造函数或其他特定于类的帮助程序 API 来实例化特定的派生 XAML 读取器类。

子树读取器

在大多数情况下,在派生自 XamlReader的特定 XAML 读取器类的上下文中调用 XamlReader API。 但是,在一个特定情况下,你将访问 XamlReader 非公共且不派生自 XamlObjectReaderXamlXmlReader的实用 XAML 读取器实例上的 API。 在这种情况下,调用 ReadSubtree将返回 XamlReader 实例。 在默认实现中, XamlReader 此 API 返回的 是一个内部类。

XamlReader为子树读取获取的 具有 API 的有效操作,例如 ReadNodeType,这些操作基于父读取器类。 此设计使内部类能够跟踪输入子树的帧级别。 操作子树 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 占用的非托管资源,也可以选择释放托管资源。

Equals(Object)

确定指定对象是否等于当前对象。

(继承自 Object)
GetHashCode()

作为默认哈希函数。

(继承自 Object)
GetType()

获取当前实例的 Type

(继承自 Object)
MemberwiseClone()

创建当前 Object 的浅表副本。

(继承自 Object)
Read()

在派生类中实现时,提供源中的下一个 XAML 节点(如果节点可用)。

ReadSubtree()

返回基于当前 XamlReaderXamlReader,其中返回的 XamlReader 用于循环访问 XAML 节点结构。

Skip()

跳过当前节点并将读取器位置推进到下一个节点。

ToString()

返回表示当前对象的字符串。

(继承自 Object)

显式接口实现

IDisposable.Dispose()

释放 XamlReader 类的当前实例所使用的所有资源。

适用于

另请参阅