Share via


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

取得開發此序列化程式之公司的網址。

WinFXVersion

取得序列化程式所需的 .NET。

方法

CreateFromFactoryInstance(ISerializerFactory)

透過特定的 SerializerDescriptor 實作建立新的 ISerializerFactory

Equals(Object)

測試兩個 SerializerDescriptor 物件是否相等。

GetHashCode()

取得序列化程式的唯一雜湊程式碼值。

GetType()

取得目前執行個體的 Type

(繼承來源 Object)
MemberwiseClone()

建立目前 Object 的淺層複製。

(繼承來源 Object)
ToString()

傳回代表目前物件的字串。

(繼承來源 Object)

適用於