Udostępnij za pośrednictwem


XamlReader Klasa

Definicja

Udostępnia podstawowe definicje dla klas korzystających z danych wejściowych XAML i generujących strumienie węzłów XAML.

public ref class XamlReader abstract : IDisposable
public abstract class XamlReader : IDisposable
type XamlReader = class
    interface IDisposable
Public MustInherit Class XamlReader
Implements IDisposable
Dziedziczenie
XamlReader
Pochodne
Implementuje

Uwagi

XamlReader jest klasą abstrakcyjną i nie udostępnia implementacji ani definicji, które mają wynik roboczy dla wszystkich elementów członkowskich. Członkowie, którzy mają wdrożenie w programie XamlReader , są zanotowane w uwagach dotyczących tego członka. W szczególności ma kilka abstrakcyjnych elementów członkowskich, XamlReader które muszą być zaimplementowane, i kilka wirtualnych elementów członkowskich.

Wirtualne elementy członkowskie ReadSubtree i Skip każda z nich udostępnia domyślną implementację, która jest odpowiednia dla większości przypadków. ReadSubtree Jednak implementacje domyślne i Skip opierają się na innym oczekiwanym zachowaniu implementowania czytnika XAML, w szczególności polegają na Read zastąpieniu. Dispose jest również wirtualnym elementem członkowskim, który ma działającą domyślną implementację.

Następujące dwie klasy to najbardziej odpowiednie i praktyczne klasy pochodne w usługach XAML .NET Framework i zestawie System.Xaml:

  • XamlObjectReader, który odczytuje graf obiektu, taki jak aktywny graf obiektu aplikacji w czasie wykonywania.

  • XamlXmlReader, który odczytuje kod XAML w postaci pliku tekstowego XML przy użyciu ogólnej XmlReader , która ładuje plik jako pośredniczącą klasę pomocnika.

Inne czytniki XAML z innych struktur to Baml2006Reader i XamlDebuggerXmlReader.

XamlReader różni się od modelu DOM (XML Document Object Model) i XmlReader zasad projektowania, ponieważ XamlReader nie ma Create metody zwracania podstawowych domyślnych implementacji czytnika XAML. Zamiast tego należy utworzyć wystąpienie określonych pochodnych klas czytników XAML przez wywołanie ich konstruktorów lub innych interfejsów API pomocnika specyficznych dla klasy.

Czytelnicy poddrzewa

W większości przypadków wywołujesz XamlReader interfejs API w kontekście określonych klas czytników XAML, które pochodzą z klasy XamlReader. Jednak w jednym konkretnym przypadku uzyskujesz dostęp do XamlReader interfejsu API w praktycznym wystąpieniu czytnika XAML, które nie jest publiczne, a nie pochodzi z XamlObjectReaderXamlXmlReaderlub . Ten przypadek występuje, gdy wywołasz ReadSubtreemetodę XamlReader , która zwraca wystąpienie. W domyślnej implementacji element XamlReader zwracany przez ten interfejs API jest klasą wewnętrzną.

Odczyt XamlReader uzyskany dla poddrzewa zawiera prawidłowe akcje dla interfejsów API, takich jak Read i NodeType, a te akcje są oparte na klasie czytnika nadrzędnego. Ten projekt umożliwia wewnętrznej klasie śledzenie poziomu ramki, na którym wprowadzono poddrzewo. Działające poddrzewo XamlReader zapewnia, że jeśli bieżące położenie węzła zostanie przeniesione poza granice poddrzewa, określony poddrzewo raportuje koniec pliku lub null w bieżącym węźle.

Uwagi dotyczące użycia czytnika poddrzewa są uwzględniane w niektórych XamlReader interfejsach API.

Konstruktory

XamlReader()

Inicjuje klasę XamlReader .

Właściwości

IsDisposed

Pobiera, czy Dispose(Boolean) został wywołany.

IsEof

Po zaimplementowaniu w klasie pochodnej pobiera wartość, która zgłasza, czy pozycja czytnika znajduje się na końcu pliku.

Member

Po zaimplementowaniu w klasie pochodnej pobiera bieżący element członkowski na pozycji czytnika, jeśli pozycja czytnika znajduje się na StartMember.

Namespace

Po zaimplementowaniu w klasie pochodnej pobiera informacje o przestrzeni nazw XAML z bieżącego węzła.

NodeType

Po zaimplementowaniu w klasie pochodnej pobiera typ bieżącego węzła.

SchemaContext

Po zaimplementowaniu w klasie pochodnej pobiera obiekt, który udostępnia informacje kontekstowe schematu XAML dla zestawu informacji.

Type

Po zaimplementowaniu w klasie pochodnej pobiera XamlType element bieżącego węzła.

Value

Po zaimplementowaniu w klasie pochodnej pobiera wartość bieżącego węzła.

Metody

Close()

Zamyka strumień węzła XAML.

Dispose(Boolean)

Zwalnia niezarządzane zasoby używane przez XamlReaderprogram i opcjonalnie zwalnia zarządzane zasoby.

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetType()

Type Pobiera wartość bieżącego wystąpienia.

(Odziedziczone po Object)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
Read()

Po zaimplementowaniu w klasie pochodnej udostępnia następny węzeł XAML ze źródła, jeśli węzeł jest dostępny.

ReadSubtree()

Zwraca wartość opartą XamlReader na bieżącym XamlReaderobiekcie , gdzie zwracany XamlReader element jest używany do iterowania po poddrzewie struktury węzła XAML.

Skip()

Pomija bieżący węzeł i rozwija pozycję czytnika do następnego węzła.

ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)

Jawne implementacje interfejsu

IDisposable.Dispose()

Zwalnia wszystkie zasoby używane przez bieżące wystąpienie klasy XamlReader.

Dotyczy

Zobacz też