SerializerProvider.CreateSerializerWriter Method

Initializes an object derived from the abstract SerializerWriter class for the specified Stream that will use the specified descriptor.

Namespace:  System.Windows.Documents.Serialization
Assembly:  PresentationFramework (in PresentationFramework.dll)

member CreateSerializerWriter : 
        serializerDescriptor:SerializerDescriptor * 
        stream:Stream -> SerializerWriter

Parameters

serializerDescriptor
Type: System.Windows.Documents.Serialization.SerializerDescriptor

A SerializerDescriptor that contains serialization information for the SerializerWriter.

stream
Type: System.IO.Stream

The Stream to which the returned object writes.

Return Value

Type: System.Windows.Documents.Serialization.SerializerWriter
An object of a class derived from SerializerWriter.

ExceptionCondition
ArgumentNullException

One of the parameters is null.

ArgumentException

The serializerDescriptor is specifying the wrong version.

-or-

It is not registered.

-or-

The assembly file cannot be found.

-or-

The assembly cannot be loaded.

Only fully trusted applications can call CreateSerializerWriter.

The following example shows using CreateSerializerWriter to return a plug-in serialization writer for saving a file.

// Create a SerializerProvider for accessing plug-in serializers.
SerializerProvider serializerProvider = new SerializerProvider();

// Locate the serializer that matches the fileName extension.
SerializerDescriptor selectedPlugIn = null;
foreach ( SerializerDescriptor serializerDescriptor in
                serializerProvider.InstalledSerializers )
{
    if ( serializerDescriptor.IsLoadable &&
         fileName.EndsWith(serializerDescriptor.DefaultFileExtension) )
    {   // The plug-in serializer and fileName extensions match.
        selectedPlugIn = serializerDescriptor;
        break; // foreach
    }
}

// If a match for a plug-in serializer was found, 
// use it to output and store the document. 
if (selectedPlugIn != null)
{
    Stream package = File.Create(fileName);
    SerializerWriter serializerWriter =
        serializerProvider.CreateSerializerWriter(selectedPlugIn,
                                                  package);
    IDocumentPaginatorSource idoc =
        flowDocument as IDocumentPaginatorSource;
    serializerWriter.Write(idoc.DocumentPaginator, null);
    package.Close();
    return true;
}

.NET Framework

Supported in: 4.6, 4.5, 4, 3.5, 3.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1
Was this page helpful?
(1500 characters remaining)
Thank you for your feedback
Show:
© 2015 Microsoft