SerializerDescriptor Class
Provides information about installed plug-in serializers.
Assembly: PresentationFramework (in PresentationFramework.dll)
| Name | Description | |
|---|---|---|
![]() | AssemblyName | Gets the name of the assembly that contains the serializer. |
![]() | AssemblyPath | Gets the path to the assembly file that contains the serializer. |
![]() | AssemblyVersion | Gets the version of the assembly that contains the serializer. |
![]() | DefaultFileExtension | Gets the default extension associated with files that the serializer outputs. |
![]() | DisplayName | Gets the public display name of the serializer. |
![]() | FactoryInterfaceName | Gets the name of the ISerializerFactory derived class that implements the serializer. |
![]() | IsLoadable | Gets a value indicating whether the serializer can be loaded with the currently installed version of Microsoft .NET Framework. |
![]() | ManufacturerName | Gets the name of the company that developed the serializer. |
![]() | ManufacturerWebsite | Gets the web address of the company that developed the serializer. |
![]() | WinFXVersion | Gets the version of Microsoft .NET Framework required by the serializer. |
| Name | Description | |
|---|---|---|
![]() ![]() | CreateFromFactoryInstance(ISerializerFactory^) | Creates a new SerializerDescriptor through a given ISerializerFactory implementation. |
![]() | Equals(Object^) | Tests two SerializerDescriptor objects for equality.(Overrides Object::Equals(Object^).) |
![]() | GetHashCode() | Gets the unique hash code value of the serializer. (Overrides Object::GetHashCode().) |
![]() | GetType() | |
![]() | ToString() | 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; } }
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.


