Condividi tramite


XamlReader Classe

Definizione

Fornisce le definizioni di base per le classi che utilizzano l'input XAML e producono flussi del nodo XAML.

public ref class XamlReader abstract : IDisposable
public abstract class XamlReader : IDisposable
type XamlReader = class
    interface IDisposable
Public MustInherit Class XamlReader
Implements IDisposable
Ereditarietà
XamlReader
Derivato
Implementazioni

Commenti

XamlReader è una classe astratta e non fornisce implementazioni o definizioni con un risultato funzionante per tutti i membri. I membri che dispongono di un'implementazione in XamlReader sono indicati nelle note relative a tale membro. In particolare, XamlReader include diversi membri astratti che devono essere implementati e diversi membri virtuali.

Dei membri ReadSubtree virtuali e Skip ognuno di essi fornisce un'implementazione predefinita appropriata per la maggior parte dei casi. Tuttavia, le ReadSubtree implementazioni predefinite e Skip si basano su altri comportamenti previsti del lettore XAML di implementazione, in particolare si basano sull'override Read . Dispose è anche un membro virtuale con un'implementazione predefinita funzionante.

Le due classi seguenti sono le classi derivate più rilevanti e pratiche nei servizi XAML di .NET Framework e nell'assembly System.Xaml:

  • XamlObjectReader, che legge un oggetto grafico, ad esempio l'oggetto grafico attivo di un'applicazione in fase di esecuzione.

  • XamlXmlReader, che legge XAML sotto forma di file di testo XML usando un generale XmlReader che carica il file come classe helper intermediaria.

Altri lettori XAML di altri framework includono Baml2006Reader e XamlDebuggerXmlReader.

XamlReader differisce dai principi DOM (Document Object Model) XML perché XmlReaderXamlReader non dispone di un Create metodo per restituire implementazioni del lettore XAML predefinite sottostanti. Devi invece creare un'istanza di classi di lettore XAML derivate specifiche chiamando i costruttori o altre API helper specifiche della classe.

Lettori sottoalberi

Nella maggior parte dei casi, chiami XamlReader l'API nel contesto di classi di lettore XAML specifiche che derivano da XamlReader. In un caso specifico, tuttavia, si accede all'API XamlReader in un'istanza pratica del lettore XAML non pubblica e non derivata da XamlObjectReader o XamlXmlReader. Questo caso si verifica quando si chiama ReadSubtree, che restituisce un'istanza XamlReader di . Nell'implementazione predefinita, l'oggetto XamlReader restituito da questa API è una classe interna.

L'oggetto XamlReader ottenuto per la lettura del sottoalbero ha azioni valide per le API, Read ad esempio e NodeType, e tali azioni sono basate sulla classe lettore padre. Questa progettazione consente alla classe interna di tenere traccia del livello di frame in cui è stato immesso il sottoalbero. Il sottoalbero XamlReader operatore assicura che se la posizione del nodo corrente viene spostata oltre i limiti del sottoalbero, il lettore di sottoalbero specifico segnala la fine del file o null il nodo corrente.

Le note sull'utilizzo del lettore di sottoalbero sono incluse in determinate XamlReader API.

Costruttori

XamlReader()

Inizializza la classe XamlReader.

Proprietà

IsDisposed

Ottiene un valore che indica se Dispose(Boolean) è stato chiamato.

IsEof

Quando implementato in una classe derivata, ottiene un valore che indica se la posizione del reader è alla fine del file.

Member

Quando implementato in una classe derivata, ottiene il membro corrente nella posizione del reader, se la posizione del reader è in un oggetto StartMember.

Namespace

Quando implementato in una classe derivata, ottiene le informazioni sullo spazio dei nomi XAML del nodo corrente.

NodeType

Quando implementato in una classe derivata, ottiene il tipo del nodo corrente.

SchemaContext

Quando implementato in una classe derivata, ottiene un oggetto che fornisce le informazioni sul contesto dello schema XAML per il set di informazioni.

Type

Quando implementato in una classe derivata, ottiene l'oggetto XamlType del nodo corrente.

Value

Quando implementato in una classe derivata, ottiene il valore del nodo corrente.

Metodi

Close()

Chiude il flusso del nodo XAML.

Dispose(Boolean)

Rilascia le risorse non gestite utilizzate dall'oggetto XamlReader e facoltativamente rilascia le risorse gestite.

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
Read()

Quando implementato in una classe derivata, fornisce il nodo XAML successivo dall'origine, se è disponibile un nodo.

ReadSubtree()

Restituisce un oggetto XamlReader basato sull'oggetto XamlReader corrente, dove l'oggetto XamlReader restituito viene utilizzato per scorrere un sottoalbero della struttura dei nodi XAML.

Skip()

Ignora il nodo corrente e fa avanzare la posizione del reader al nodo successivo.

ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Implementazioni dell'interfaccia esplicita

IDisposable.Dispose()

Rilascia tutte le risorse usate dall'istanza corrente della classe XamlReader.

Si applica a

Vedi anche