SerializerDescriptor Class

SerializerDescriptor Class

 

Provides information about installed plug-in serializers.

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

System.Object
  System.Windows.Documents.Serialization.SerializerDescriptor

public sealed class SerializerDescriptor

NameDescription
System_CAPS_pubpropertyAssemblyName

Gets the name of the assembly that contains the serializer.

System_CAPS_pubpropertyAssemblyPath

Gets the path to the assembly file that contains the serializer.

System_CAPS_pubpropertyAssemblyVersion

Gets the version of the assembly that contains the serializer.

System_CAPS_pubpropertyDefaultFileExtension

Gets the default extension associated with files that the serializer outputs.

System_CAPS_pubpropertyDisplayName

Gets the public display name of the serializer.

System_CAPS_pubpropertyFactoryInterfaceName

Gets the name of the ISerializerFactory derived class that implements the serializer.

System_CAPS_pubpropertyIsLoadable

Gets a value indicating whether the serializer can be loaded with the currently installed version of Microsoft .NET Framework.

System_CAPS_pubpropertyManufacturerName

Gets the name of the company that developed the serializer.

System_CAPS_pubpropertyManufacturerWebsite

Gets the web address of the company that developed the serializer.

System_CAPS_pubpropertyWinFXVersion

Gets the version of Microsoft .NET Framework required by the serializer.

NameDescription
System_CAPS_pubmethodSystem_CAPS_staticCreateFromFactoryInstance(ISerializerFactory)

Creates a new SerializerDescriptor through a given ISerializerFactory implementation.

System_CAPS_pubmethodEquals(Object)

Tests two SerializerDescriptor objects for equality.(Overrides Object.Equals(Object).)

System_CAPS_pubmethodGetHashCode()

Gets the unique hash code value of the serializer. (Overrides Object.GetHashCode().)

System_CAPS_pubmethodGetType()

Gets the Type of the current instance.(Inherited from Object.)

System_CAPS_pubmethodToString()

Returns a string that represents the current object.(Inherited from Object.)

Plug-in serializer classes derive from and implement the ISerializerFactory interface.

The following examples illustrate using a SerializerDescriptor to return information on installed plug-in serializers.

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

.NET Framework
Available since 3.0

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

Return to top
Show:
© 2016 Microsoft