SerializerDescriptor 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
提供已安裝之外掛程式序列化程式的詳細資訊。
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) |