Udostępnij za pośrednictwem


SerializerProvider.CreateSerializerWriter Metoda

Definicja

Inicjuje obiekt pochodzący z klasy abstrakcyjnej SerializerWriter dla określonego Stream , który będzie używał określonego deskryptora.

public:
 System::Windows::Documents::Serialization::SerializerWriter ^ CreateSerializerWriter(System::Windows::Documents::Serialization::SerializerDescriptor ^ serializerDescriptor, System::IO::Stream ^ stream);
public System.Windows.Documents.Serialization.SerializerWriter CreateSerializerWriter (System.Windows.Documents.Serialization.SerializerDescriptor serializerDescriptor, System.IO.Stream stream);
member this.CreateSerializerWriter : System.Windows.Documents.Serialization.SerializerDescriptor * System.IO.Stream -> System.Windows.Documents.Serialization.SerializerWriter
Public Function CreateSerializerWriter (serializerDescriptor As SerializerDescriptor, stream As Stream) As SerializerWriter

Parametry

serializerDescriptor
SerializerDescriptor

Element SerializerDescriptor zawierający informacje o serializacji dla elementu SerializerWriter.

stream
Stream

Obiekt Stream , do którego zwracany obiekt zapisuje.

Zwraca

SerializerWriter

Obiekt klasy pochodzącej z SerializerWriterklasy .

Wyjątki

Jeden z parametrów ma wartość null.

Określa serializerDescriptor nieprawidłową wersję.

-lub- Nie jest on zarejestrowany.

-lub- Nie można odnaleźć pliku zestawu.

-lub- Nie można załadować zestawu.

Przykłady

W poniższym przykładzie pokazano użycie polecenia CreateSerializerWriter , aby zwrócić składnik zapisywania serializacji wtyczki do zapisywania pliku.

// 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;
}

Uwagi

Tylko w pełni zaufane aplikacje mogą wywoływać metodę CreateSerializerWriter.

Dotyczy