XamlReader Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Fornisce definizioni di base per le classi che utilizzano l'input XAML e producono flussi di nodi 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 di lavoro per tutti i membri. I membri che dispongono di un'implementazione in XamlReader sono indicati nelle osservazioni per tale membro. In particolare, XamlReader include diversi membri astratti che devono essere implementati e diversi membri virtuali.
Tra i membri ReadSubtree virtuali e Skip ognuno 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 che dispone di 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 XmlReader generale che carica il file come classe helper intermedia.
Altri lettori XAML di altri framework includono Baml2006Reader e XamlDebuggerXmlReader.
XamlReaderdifferisce dai principi XamlReader DOM (Document Object Model) XML perché XmlReader non dispone di un Create metodo per restituire le implementazioni predefinite del lettore XAML sottostanti. Devi invece creare un'istanza di classi di lettore XAML derivate specifiche chiamando i relativi 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. Tuttavia, in un caso specifico, si accede all'API XamlReader in un'istanza pratica del lettore XAML che 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 include azioni valide per le API, ad Read 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 che agisce 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
| Nome | Descrizione |
|---|---|
| XamlReader() |
Inizializza la XamlReader classe . |
Proprietà
| Nome | Descrizione |
|---|---|
| IsDisposed |
Ottiene un valore che indica se Dispose(Boolean) è stato chiamato . |
| IsEof |
Se implementato in una classe derivata, ottiene un valore che indica se la posizione del lettore è alla fine del file. |
| Member |
Se implementato in una classe derivata, ottiene il membro corrente nella posizione del lettore, se la posizione del lettore si trova su un oggetto StartMember. |
| Namespace |
Se implementato in una classe derivata, ottiene le informazioni sullo spazio dei nomi XAML dal nodo corrente. |
| NodeType |
Se implementato in una classe derivata, ottiene il tipo del nodo corrente. |
| SchemaContext |
Se implementato in una classe derivata, ottiene un oggetto che fornisce informazioni sul contesto dello schema XAML per il set di informazioni. |
| Type |
Se implementato in una classe derivata, ottiene l'oggetto XamlType del nodo corrente. |
| Value |
Se implementato in una classe derivata, ottiene il valore del nodo corrente. |
Metodi
| Nome | Descrizione |
|---|---|
| Close() |
Chiude il flusso del nodo XAML. |
| Dispose(Boolean) |
Rilascia le risorse non gestite usate da XamlReadere, 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 il Type dell'istanza corrente. (Ereditato da Object) |
| MemberwiseClone() |
Crea una copia superficiale del Objectcorrente. (Ereditato da Object) |
| Read() |
Se implementato in una classe derivata, fornisce il nodo XAML successivo dall'origine, se è disponibile un nodo. |
| ReadSubtree() |
Restituisce un oggetto XamlReader basato sull'oggetto corrente XamlReader, in cui l'oggetto restituito viene usato per scorrere un sottoalbero XamlReader della struttura del nodo XAML. |
| Skip() |
Ignora il nodo corrente e sposta la posizione del lettore al nodo successivo. |
| ToString() |
Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object) |
Implementazioni dell'interfaccia esplicita
| Nome | Descrizione |
|---|---|
| IDisposable.Dispose() |
Rilascia tutte le risorse usate dall'istanza corrente della XamlReader classe . |