Compartir por


XamlReader Clase

Definición

Proporciona definiciones base para las clases que consumen entradas XAML y generan flujos de nodo XAML.

public ref class XamlReader abstract : IDisposable
public abstract class XamlReader : IDisposable
type XamlReader = class
    interface IDisposable
Public MustInherit Class XamlReader
Implements IDisposable
Herencia
XamlReader
Derivado
Implementaciones

Comentarios

XamlReader es una clase abstracta y no proporciona implementaciones ni definiciones que tienen un resultado de trabajo para todos los miembros. Los miembros que tienen una implementación en XamlReader se indican en los comentarios de ese miembro. En concreto, XamlReader tiene varios miembros abstractos que se deben implementar y varios miembros virtuales.

De los miembros virtuales y ReadSubtreeSkip cada uno proporciona una implementación predeterminada adecuada para la mayoría de los casos. Sin embargo, las ReadSubtree implementaciones predeterminadas y Skip se basan en otro comportamiento esperado del lector XAML de implementación; en particular, se basan en la Read invalidación. Dispose también es un miembro virtual que tiene una implementación predeterminada en funcionamiento.

Las dos clases siguientes son las clases derivadas más relevantes y prácticas de los servicios XAML de .NET Framework y el ensamblado System.Xaml:

  • XamlObjectReader, que lee un gráfico de objetos, como el gráfico de objetos activo de una aplicación en tiempo de ejecución.

  • XamlXmlReader, que lee XAML en forma de archivo de texto XML mediante un general XmlReader que carga el archivo como una clase auxiliar intermedia.

Otros lectores XAML de otros marcos incluyen Baml2006Reader y XamlDebuggerXmlReader.

XamlReader difiere de los principios de diseño y XmlReader modelo de objetos de documento XML (DOM) porque XamlReader no tiene un Create método para devolver implementaciones de lector XAML predeterminadas subyacentes. En su lugar, debes crear instancias de clases de lector XAML derivadas específicas mediante una llamada a sus constructores u otras API auxiliares específicas de clase.

Lectores de subárbol

En la mayor parte, llamas a XamlReader la API en el contexto de clases de lector XAML específicas que derivan de XamlReader. Sin embargo, en un caso concreto, se accede a la XamlReader API en una instancia práctica de lector XAML que no es pública y no se deriva de XamlObjectReader o XamlXmlReader. Este caso es cuando se llama a ReadSubtree, que devuelve una XamlReader instancia de . En la implementación predeterminada, la XamlReader que devuelve esta API es una clase interna.

El XamlReader obtenido para la lectura de subárbol tiene acciones válidas para las API, como Read y NodeType, y esas acciones se basan en la clase de lector principal. Este diseño permite a la clase interna realizar un seguimiento del nivel de marco en el que se escribió el subárbol. El subárbol XamlReader que actúa se asegura de que si la posición del nodo actual se mueve más allá de los límites del subárbol, el lector de subárbol específico notifica el final del archivo o null en el nodo actual.

Se incluyen notas sobre el uso del lector de subárbol en determinadas XamlReader API.

Constructores

Nombre Description
XamlReader()

Inicializa la clase XamlReader.

Propiedades

Nombre Description
IsDisposed

Obtiene si Dispose(Boolean) se ha llamado a .

IsEof

Cuando se implementa en una clase derivada, obtiene un valor que informa de si la posición del lector está al final del archivo.

Member

Cuando se implementa en una clase derivada, obtiene el miembro actual en la posición del lector, si la posición del lector está en .StartMember

Namespace

Cuando se implementa en una clase derivada, obtiene la información del espacio de nombres XAML del nodo actual.

NodeType

Cuando se implementa en una clase derivada, obtiene el tipo del nodo actual.

SchemaContext

Cuando se implementa en una clase derivada, obtiene un objeto que proporciona información de contexto de esquema XAML para el conjunto de información.

Type

Cuando se implementa en una clase derivada, obtiene el XamlType del nodo actual.

Value

Cuando se implementa en una clase derivada, obtiene el valor del nodo actual.

Métodos

Nombre Description
Close()

Cierra la secuencia de nodos XAML.

Dispose(Boolean)

Libera los recursos no administrados usados por XamlReadery, opcionalmente, libera los recursos administrados.

Equals(Object)

Determina si el objeto especificado es igual al objeto actual.

(Heredado de Object)
GetHashCode()

Actúa como función hash predeterminada.

(Heredado de Object)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
MemberwiseClone()

Crea una copia superficial del Objectactual.

(Heredado de Object)
Read()

Cuando se implementa en una clase derivada, proporciona el siguiente nodo XAML del origen, si hay un nodo disponible.

ReadSubtree()

Devuelve un XamlReader que se basa en el actual XamlReader, donde se usa el devuelto XamlReader para iterar a través de un subárbol de la estructura de nodos XAML.

Skip()

Omite el nodo actual y avanza la posición del lector al siguiente nodo.

ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)

Implementaciones de interfaz explícitas

Nombre Description
IDisposable.Dispose()

Libera todos los recursos usados por la instancia actual de la XamlReader clase .

Se aplica a

Consulte también