System.Xml [00 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00] 1.0.5000.0 2.0.0.0 4.0.0.0 To be added

There are two reasons to implement this interface. The first is to control how your object is serialized or deserialized by the . For example, you can chunk data into bytes instead of buffering large data sets, and also avoid the inflation that occurs when the data is encoded using Base64 encoding. To control the serialization, implement the and methods to control the and classes used to read and write the XML. For an example of this, see How To: Chunk Serialized Data.

The second reason is to be able to control the schema. To enable this, you must apply the to the serializable type, and specify the name of the static member that returns the schema. See the for an example.

A class that implements the interface must have a parameterless constructor. This is a requirement of the class.

Provides custom formatting for XML serialization and deserialization.

- Method
  1.0.5000.0
  2.0.0.0
  4.0.0.0
  System.Xml.Schema.XmlSchema

  When serializing or deserializing an object, the class does not perform XML validation. For this reason, it is often safe to omit schema information by providing a trivial implementation of this method, for example by returning null (Nothing in Visual Basic).

  If providing schema information is necessary, you should use the attribute. The GetSchema method should still return null (or Nothing).

  Some dnprdnshort types as well as legacy custom types implementing the IXmlSerializable interface may be using GetSchema instead of XmlSchemaProvider. In this case, the method returns an accurate XML schema that describes the XML representation of the object generated by the method.

  This method is reserved and should not be used. When implementing the IXmlSerializable interface, you should return null (Nothing in Visual Basic) from this method, and instead, if specifying a custom schema is required, apply the to the class.

  An that describes the XML representation of the object that is produced by the method and consumed by the method.

- Method
  1.0.5000.0
  2.0.0.0
  4.0.0.0
  System.Void ``

  The method must reconstitute your object using the information that was written by the method.

  When this method is called, the reader is positioned on the start tag that wraps the information for your type. That is, directly on the start tag that indicates the beginning of a serialized object. When this method returns, it must have read the entire element from beginning to end, including all of its contents. Unlike the method, the framework does not handle the wrapper element automatically. Your implementation must do so. Failing to observe these positioning rules may cause code to generate unexpected runtime exceptions or corrupt data.

  When implementing this method, you should consider the possibility that a malicious user might provide a well-formed but invalid XML representation in order to disable or otherwise alter the behavior of your application.

  Generates an object from its XML representation.

  The stream from which the object is deserialized.
- Method
  1.0.5000.0
  2.0.0.0
  4.0.0.0
  System.Void ``

  The implementation you provide should write out the XML representation of the object. The framework writes a wrapper element and positions the XML writer after its start. Your implementation may write its contents, including child elements. The framework then closes the wrapper element.

  Write sufficient information to the stream to allow the method to reconstitute your object.

  For example, if your object state includes an array variable, be sure to write the length of the array, or use a parent element to contain the elements that describe the array values, so that you know how many values to read when the object is reconstituted.

  Converts an object into its XML representation.

  The stream to which the object is serialized.