SerializerDescriptor 类

定义

提供有关已安装的插件序列化程序的信息。

public ref class SerializerDescriptor sealed
public sealed class SerializerDescriptor
type SerializerDescriptor = class
Public NotInheritable Class SerializerDescriptor
继承
SerializerDescriptor

示例

以下示例演示如何使用 SerializerDescriptor 返回有关已安装插件序列化程序的信息。

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

注解

插件序列化程序类派生自 并实现 ISerializerFactory 接口。

属性

AssemblyName

获取包含序列化程序的程序集的名称。

AssemblyPath

获取包含序列化程序的程序集文件的路径。

AssemblyVersion

获取包含序列化程序的程序集的版本。

DefaultFileExtension

获取与序列化程序输出的文件关联的默认扩展名。

DisplayName

获取序列化程序的公共显示名称。

FactoryInterfaceName

获取实现序列化程序的 ISerializerFactory 派生类的名称。

IsLoadable

获取一个值,该值指示是否可以使用当前安装的 .NET 版本加载序列化程序。

ManufacturerName

获取开发序列化程序的公司的名称。

ManufacturerWebsite

获取开发序列化程序的公司的 Web 地址。

WinFXVersion

获取序列化程序所需的 .NET 的版本。

方法

CreateFromFactoryInstance(ISerializerFactory)

通过给定的 SerializerDescriptor 实现创建新的 ISerializerFactory

Equals(Object)

测试两个 SerializerDescriptor 对象是否相等。

GetHashCode()

获取序列化程序的唯一哈希代码值。

GetType()

获取当前实例的 Type

(继承自 Object)
MemberwiseClone()

创建当前 Object 的浅表副本。

(继承自 Object)
ToString()

返回表示当前对象的字符串。

(继承自 Object)

适用于