XamlReader.ReadSubtree Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Returnerar ett XamlReader som baseras på den aktuella XamlReader, där den returnerade XamlReader används för att iterera via ett underträd i XAML-nodstrukturen.
public:
virtual System::Xaml::XamlReader ^ ReadSubtree();
public virtual System.Xaml.XamlReader ReadSubtree();
abstract member ReadSubtree : unit -> System.Xaml.XamlReader
override this.ReadSubtree : unit -> System.Xaml.XamlReader
Public Overridable Function ReadSubtree () As XamlReader
Returer
En ny XAML-läsarinstans för underträdet.
Kommentarer
Den här metoden har en standardimplementering och returnerar en giltig XamlReader. Den returnerade XamlReader är en intern klass som begränsar vissa XamlReader åtgärder. Begränsningarna överensstämmer med syftet att endast läsa ett dimensionerat underträd för en större källa för en XAML-noduppsättning och för att returnera filslut eller null vid den aktuella noden när underträdet avslutas.
I allmänhet bör du kontrollera den aktuella noden från den första Read för att avgöra om du behöver en underträdsläsare. Hur du kontrollerar detta kan vara implementeringsspecifikt. Undvik dock att skapa flera underträdsläsare för varje underträd. Undvik dessutom att anropa en underträdsläsare för vissa nodfall (till exempel för NamespaceDeclaration) som inte kan innehålla ett underträd med noder.
När du har hämtat en underträdsläsare måste du anropa Read den för att hämta en aktuell nod (eller anropa Skip för att hämta en nästa nod). Du får inte automatiskt en initial nodposition från underträdsläsaren när du skapar den.
Läsaren som du får genom att anropa ReadSubtree från den här standardimplementeringen är en intern klass. Den interna klassen baserar sitt beteende på den XamlReader implementering som används när ReadSubtree anropas. Syftet med den interna klassen är att omsluta det Read allmänna blädderingsbeteendet. Bläddingen stannar inom det avsedda underträdet genom att hålla reda på StartMember/EndMember par eller StartObject/EndObject par. Den returnerar false också korrekt för Read och true för IsEof när läsaren är i slutet av underträdet, enligt definitionen i dess startpunkt. I allmänhet förutsätter du att alla XamlReader API:er som du anropar från en underträdsläsare har samma implementering som helheten XamlReader förutom bläddringsbeteendet.
Är dock ReadSubtree virtuellt. Därför kan en specifik XamlReader implementering ge ett beteende som skiljer sig från det XamlReader interna omslutningsbeteendet, och en XamlReader implementering kan till och med inaktivera funktioner för underträdsläsare genom att NotImplementedException returnera eller andra undantag.