Поделиться через


SerializerWriter Класс

Определение

Определяет абстрактные методы и события, необходимые для реализации сериализатора выходных данных документа подключаемого модуля.

public ref class SerializerWriter abstract
public abstract class SerializerWriter
type SerializerWriter = class
Public MustInherit Class SerializerWriter
Наследование
SerializerWriter
Производный

Примеры

В следующем примере демонстрируется применение SerializerWriter.

// 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;
}
// ------------------------ PlugInFileFilter --------------------------
/// <summary>
///   Gets a filter string for installed plug-in serializers.</summary>
/// <remark>
///   PlugInFileFilter is used to set the SaveFileDialog or
///   OpenFileDialog "Filter" property when saving or opening files
///   using plug-in serializers.</remark>
private string PlugInFileFilter
{
    get
    {   // Create a SerializerProvider for accessing plug-in serializers.
        SerializerProvider serializerProvider = new SerializerProvider();
        string filter = "";

        // For each loadable serializer, add its display
        // name and extension to the filter string.
        foreach (SerializerDescriptor serializerDescriptor in
            serializerProvider.InstalledSerializers)
        {
            if (serializerDescriptor.IsLoadable)
            {
                // After the first, separate entries with a "|".
                if (filter.Length > 0)   filter += "|";

                // Add an entry with the plug-in name and extension.
                filter += serializerDescriptor.DisplayName + " (*" +
                    serializerDescriptor.DefaultFileExtension + ")|*" +
                    serializerDescriptor.DefaultFileExtension;
            }
        }

        // Return the filter string of installed plug-in serializers.
        return filter;
    }
}

Конструкторы

SerializerWriter()

Инициализирует новый экземпляр класса SerializerWriter.

Методы

CancelAsync()

При переопределении в производном классе отменяет асинхронную операцию записи.

CreateVisualsCollator()

При переопределении в производном классе возвращает объект SerializerWriterCollator, который записывает упорядоченные элементы Visual.

CreateVisualsCollator(PrintTicket, PrintTicket)

При переопределении в производном классе возвращает объект SerializerWriterCollator, который записывает упорядоченные элементы Visual вместе с данными билетами на печать.

Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

(Унаследовано от Object)
GetHashCode()

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetType()

Возвращает объект Type для текущего экземпляра.

(Унаследовано от Object)
MemberwiseClone()

Создает неполную копию текущего объекта Object.

(Унаследовано от Object)
ToString()

Возвращает строку, представляющую текущий объект.

(Унаследовано от Object)
Write(DocumentPaginator)

При переопределении в производном классе синхронно записывает содержимое указанного объекта DocumentPaginator в поток Stream сериализации.

Write(DocumentPaginator, PrintTicket)

При переопределении в производном классе синхронно записывает содержимое, разбитое на страницы, вместе со связанным объектом PrintTicket в поток Stream сериализации.

Write(FixedDocument)

При переопределении в производном классе синхронно записывает данный объект FixedDocument в поток Stream сериализации.

Write(FixedDocument, PrintTicket)

При переопределении в производном классе синхронно записывает заданный объект FixedDocument вместе со связанным объектом PrintTicket в поток Stream сериализации.

Write(FixedDocumentSequence)

При переопределении в производном классе синхронно записывает данный объект FixedDocumentSequence в поток Stream сериализации.

Write(FixedDocumentSequence, PrintTicket)

При переопределении в производном классе синхронно записывает заданный объект FixedDocumentSequence вместе со связанным объектом PrintTicket в поток Stream сериализации.

Write(FixedPage)

При переопределении в производном классе синхронно записывает данный объект FixedPage в поток Stream сериализации.

Write(FixedPage, PrintTicket)

При переопределении в производном классе синхронно записывает заданный объект FixedPage вместе со связанным объектом PrintTicket в поток Stream сериализации.

Write(Visual)

При переопределении в производном классе синхронно записывает данный элемент Visual в поток Stream сериализации.

Write(Visual, PrintTicket)

При переопределении в производном классе синхронно записывает заданный элемент Visual вместе со связанным объектом PrintTicket в поток Stream сериализации.

WriteAsync(DocumentPaginator)

При переопределении в производном классе асинхронно записывает содержимое заданного объекта DocumentPaginator в поток Stream сериализации.

WriteAsync(DocumentPaginator, Object)

При переопределении в производном классе асинхронно записывает содержимое заданного объекта DocumentPaginator в поток Stream сериализации.

WriteAsync(DocumentPaginator, PrintTicket)

При переопределении в производном классе асинхронно записывает содержимое заданного объекта DocumentPaginator в поток Stream сериализации.

WriteAsync(DocumentPaginator, PrintTicket, Object)

Если переопределено в производном классе, асинхронно записывает содержимое, разбитое на страницы, со связанным объектом PrintTicket в поток Stream сериализации.

WriteAsync(FixedDocument)

При переопределении в производном классе асинхронно записывает заданный объект FixedDocument в поток Stream сериализации.

WriteAsync(FixedDocument, Object)

При переопределении в производном классе асинхронно записывает заданный объект FixedDocument в поток Stream сериализации.

WriteAsync(FixedDocument, PrintTicket)

При переопределении в производном классе асинхронно записывает заданный объект FixedDocument вместе со связанным объектом PrintTicket в поток Stream сериализации.

WriteAsync(FixedDocument, PrintTicket, Object)

При переопределении в производном классе асинхронно записывает заданный объект FixedDocument вместе со связанным объектом PrintTicket в поток Stream сериализации.

WriteAsync(FixedDocumentSequence)

При переопределении в производном классе асинхронно записывает заданный объект FixedDocumentSequence в поток Stream сериализации.

WriteAsync(FixedDocumentSequence, Object)

При переопределении в производном классе асинхронно записывает заданный объект FixedDocumentSequence в поток Stream сериализации.

WriteAsync(FixedDocumentSequence, PrintTicket)

При переопределении в производном классе асинхронно записывает заданный объект FixedDocumentSequence вместе со связанным объектом PrintTicket в поток Stream сериализации.

WriteAsync(FixedDocumentSequence, PrintTicket, Object)

При переопределении в производном классе асинхронно записывает заданный объект FixedDocumentSequence вместе со связанным объектом PrintTicket в поток Stream сериализации.

WriteAsync(FixedPage)

При переопределении в производном классе асинхронно записывает заданный объект FixedPage в поток Stream сериализации.

WriteAsync(FixedPage, Object)

При переопределении в производном классе асинхронно записывает заданный объект FixedPage в поток Stream сериализации.

WriteAsync(FixedPage, PrintTicket)

При переопределении в производном классе асинхронно записывает заданный объект FixedPage вместе со связанным объектом PrintTicket в поток Stream сериализации.

WriteAsync(FixedPage, PrintTicket, Object)

При переопределении в производном классе асинхронно записывает заданный объект FixedPage вместе со связанным объектом PrintTicket в поток Stream сериализации.

WriteAsync(Visual)

При переопределении в производном классе асинхронно записывает заданный элемент Visual в поток Stream сериализации.

WriteAsync(Visual, Object)

При переопределении в производном классе асинхронно записывает заданный элемент Visual в поток Stream сериализации.

WriteAsync(Visual, PrintTicket)

При переопределении в производном классе асинхронно записывает заданный элемент Visual вместе со связанным объектом PrintTicket в поток Stream сериализации.

WriteAsync(Visual, PrintTicket, Object)

При переопределении в производном классе асинхронно записывает заданный элемент Visual, а также связанный с ним объект PrintTicket и идентификатор в поток Stream сериализации.

События

WritingCancelled

При переопределении в производном классе происходит при выполнении операции CancelAsync().

WritingCompleted

При переопределении в производном классе происходит, когда завершается пакетная операция записи.

WritingPrintTicketRequired

При переопределении в производном классе происходит непосредственно перед добавлением PrintTicket в поток методом Write или WriteAsync.

WritingProgressChanged

При переопределении в производном классе происходит, когда SerializerWriter обновляет значение степени выполнения.

Применяется к

См. также раздел