This documentation is archived and is not being maintained.

XamlObjectReader Class

Provides a XamlReader implementation that reads object graphs and generates a XAML node stream.


Namespace:  System.Xaml
Assembly:  System.Xaml (in System.Xaml.dll)

public class XamlObjectReader : XamlReader

The XamlObjectReader type exposes the following members.

Public methodXamlObjectReader(Object)Initializes a new instance of the XamlObjectReader class.
Public methodXamlObjectReader(Object, XamlObjectReaderSettings)Initializes a new instance of the XamlObjectReader class with the specified reader settings.
Public methodXamlObjectReader(Object, XamlSchemaContext)Initializes a new instance of the XamlObjectReader class with the specified schema context.
Public methodXamlObjectReader(Object, XamlSchemaContext, XamlObjectReaderSettings)Initializes a new instance of the XamlObjectReader class with the specified schema context and reader settings.

Public propertyInstanceGets the object instance that is available at the current reader position.
Protected propertyIsDisposedGets whether Dispose has been called. (Inherited from XamlReader.)
Public propertyIsEofGets a value that reports whether the reader position is at the end of the file. (Overrides XamlReader.IsEof.)
Public propertyMemberGets the current XamlMember at the reader position, if the reader position is on a StartMember. (Overrides XamlReader.Member.)
Public propertyNamespaceGets the XAML namespace declaration from the current reader position. (Overrides XamlReader.Namespace.)
Public propertyNodeTypeGets the type of the current node. (Overrides XamlReader.NodeType.)
Public propertySchemaContextGets an object that provides schema information for the information set. (Overrides XamlReader.SchemaContext.)
Public propertyTypeGets the XamlType of the object at the current reader position. (Overrides XamlReader.Type.)
Public propertyValueGets the value of the node at the current reader position. (Overrides XamlReader.Value.)

Public methodCloseCloses the XAML node stream. (Inherited from XamlReader.)
Protected methodDisposeReleases the unmanaged resources used by the XamlReader, and optionally, releases the managed resources. (Inherited from XamlReader.)
Public methodEquals(Object)Determines whether the specified Object is equal to the current Object. (Inherited from Object.)
Protected methodFinalizeAllows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public methodGetHashCodeServes as a hash function for a particular type. (Inherited from Object.)
Public methodGetTypeGets the Type of the current instance. (Inherited from Object.)
Protected methodMemberwiseCloneCreates a shallow copy of the current Object. (Inherited from Object.)
Public methodReadProvides the next XAML node from the source object graph, if a node is available. (Overrides XamlReader.Read().)
Public methodReadSubtreeReturns a XamlReader that is based on the current XamlReader, where the returned XamlReader is used to iterate through a subtree of the XAML node structure. (Inherited from XamlReader.)
Public methodSkipSkips the current node and advances the reader position to the next node. (Inherited from XamlReader.)
Public methodToStringReturns a string that represents the current object. (Inherited from Object.)

Explicit interface implemetationPrivate methodIDisposable.DisposeInfrastructure. Releases all resources used by the current instance of the XamlReader class. (Inherited from XamlReader.)

Use the XamlObjectReader in scenarios where you want to process an object graph, which is typically the object graph of an application that is originally generated from a XAML source. You might use the XamlObjectReader where a round trip is made from a XAML start point to a XAML end point. Or you might run a XamlObjectReader over the object graph; process the intermediate XAML node stream, if it is required, by using APIs on XamlType and XamlMember; and then use XamlXmlWriter to serialize XAML nodes to XML.

More advanced scenarios might supply a XamlXmlWriter override and a specific XAML schema context that the XamlObjectReader uses and then passes to the writer override.

Typical scenarios for using XamlObjectReader call the members that XamlObjectReader implements; they also call Close, ReadSubtree, and Skip from the XamlReader base class.

.NET Framework

Supported in: 4

.NET Framework Client Profile

Supported in: 4

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.