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 |
获取开发序列化程序的公司的 Web 地址。 |
WinFXVersion |
获取序列化程序所需的 .NET 的版本。 |
方法
CreateFromFactoryInstance(ISerializerFactory) |
通过给定的 SerializerDescriptor 实现创建新的 ISerializerFactory。 |
Equals(Object) |
测试两个 SerializerDescriptor 对象是否相等。 |
GetHashCode() |
获取序列化程序的唯一哈希代码值。 |
GetType() |
获取当前实例的 Type。 (继承自 Object) |
MemberwiseClone() |
创建当前 Object 的浅表副本。 (继承自 Object) |
ToString() |
返回表示当前对象的字符串。 (继承自 Object) |