XamlReader 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
为使用 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都提供适用于大多数情况的默认实现。 但是, ReadSubtree 和 Skip 默认实现依赖于实现 XAML 读取器的其他预期行为;具体而言,它们依赖于 Read 重写。 Dispose 也是具有有效默认实现的虚拟成员。
以下两个类是.NET Framework XAML 服务和 System.Xaml 程序集中最相关且最实用的派生类:
XamlObjectReader,用于读取对象图,例如运行时应用程序的活动对象图。
XamlXmlReader,它通过使用将文件加载为中间帮助程序类的常规 XmlReader ,以 XML 文本文件的形式读取 XAML。
其他框架中的其他 XAML 读取器包括 Baml2006Reader 和 XamlDebuggerXmlReader。
XamlReader 不同于 XML 文档对象模型 (DOM) 和 XmlReader 设计原则,因为 XamlReader 没有 Create
返回基础默认 XAML 读取器实现的方法。 必须改为通过调用其构造函数或其他特定于类的帮助程序 API 来实例化特定的派生 XAML 读取器类。
子树读取器
在大多数情况下,在派生自 XamlReader的特定 XAML 读取器类的上下文中调用 XamlReader API。 但是,在一个特定情况下,你将访问 XamlReader 非公共且不派生自 XamlObjectReader 或 XamlXmlReader的实用 XAML 读取器实例上的 API。 在这种情况下,调用 ReadSubtree将返回 XamlReader 实例。 在默认实现中, XamlReader 此 API 返回的 是一个内部类。
XamlReader为子树读取获取的 具有 API 的有效操作,例如 Read 和 NodeType,这些操作基于父读取器类。 此设计使内部类能够跟踪输入子树的帧级别。 操作子树 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() |
返回基于当前 XamlReader 的 XamlReader,其中返回的 XamlReader 用于循环访问 XAML 节点结构。 |
Skip() |
跳过当前节点并将读取器位置推进到下一个节点。 |
ToString() |
返回表示当前对象的字符串。 (继承自 Object) |
显式接口实现
IDisposable.Dispose() |
释放 XamlReader 类的当前实例所使用的所有资源。 |