System.ComponentModel.Design.Serialization Namespace

The System.ComponentModel.Design.Serialization namespace provides types that support customization and control of serialization at design time.

The classes in this namespace can be divided into the following categories:

  • Serialization attributes that can be used to indicate the serializer to use for a specific type: DesignerSerializerAttribute, to indicate the serializer to use for a particular type; and RootDesignerSerializerAttribute, to indicate the base serializer to use for the root designer.

  • Classes that a designer can implement to customize serialization: IDesignerLoaderHost, for loading a designer document from a serialized state; and IDesignerLoaderService, for loading a designer document when external components and asynchronous loading are involved.

  • Interfaces that a designer can use to manage the serialization process: IDesignerSerializationManager, to register or retrieve custom serializers; IDesignerSerializationProvider, to make a serializer available to an IDesignerSerializationManager; and IDesignerSerializationService, which provides methods to invoke serialization and deserialization.

  • An interface that can be implemented to customize the loading process of a designer: DesignerLoader.

  • An interface that can be used to optimize the reloading of a designer: ICodeDomDesignerReload.

  • Other helper classes: INameCreationService, an interface for generating unique names for objects; ContextStack, a data structure useful for sharing serialization context information with serializers; and InstanceDescriptor, an object that can describe a serializable object.

Public classBasicDesignerLoaderProvides an implementation of the IDesignerLoaderService interface.
Public classCodeDomComponentSerializationServiceSerializes a set of components into a serialization store.
Public classCodeDomDesignerLoaderProvides the base class for implementing a CodeDOM-based designer loader.
Public classCodeDomLocalizationProviderProvides CodeDOM resource serialization services. This class cannot be inherited.
Public classCodeDomSerializerSerializes an object graph to a series of CodeDOM statements. This class provides an abstract base class for a serializer.
Public classCodeDomSerializerBaseProvides a base class for CodeDomSerializer classes.
Public classCodeDomSerializerExceptionThe exception that is thrown when line number information is available for a serialization error.
Public classCollectionCodeDomSerializerSerializes collections.
Public classComponentSerializationServiceProvides the base class for serializing a set of components or serializable objects into a serialization store.
Public classContextStackProvides a stack object that can be used by a serializer to make information available to nested serializers.
Public classDefaultSerializationProviderAttributeThe DefaultSerializationProviderAttribute attribute is placed on a serializer to indicate the class to use as a default provider of that type of serializer.
Public classDesignerLoaderProvides a basic designer loader interface that can be used to implement a custom designer loader.
Public classDesignerSerializationManagerProvides an implementation of the IDesignerSerializationManager interface.
Public classDesignerSerializerAttributeIndicates a serializer for the serialization manager to use to serialize the values of the type this attribute is applied to. This class cannot be inherited.
Public classExpressionContextProvides a means of passing context state among serializers. This class cannot be inherited.
Public classInstanceDescriptorProvides the information necessary to create an instance of an object. This class cannot be inherited.
Public classMemberCodeDomSerializerProvides the base class for serializing a reflection primitive within the object graph.
Public classMemberRelationshipServiceProvides the base class for relating one member to another.
Public classObjectStatementCollectionHolds a table of statements that is offered by the StatementContext. This class cannot be inherited.
Public classResolveNameEventArgsProvides data for the ResolveName event.
Public classRootContextA CodeDomSerializer adds a root context to provide a definition of the root object. This class cannot be inherited
Public classRootDesignerSerializerAttributeIndicates the base serializer to use for a root designer object. This class cannot be inherited.
Public classSerializationStoreProvides the base class for storing serialization data for the ComponentSerializationService.
Public classSerializeAbsoluteContextSpecifies that serializers should handle default values. This class cannot be inherited.
Public classStatementContextProvides a location into which statements can be serialized. This class cannot be inherited.
Public classTypeCodeDomSerializerSerializes an object to a new type.

Public interfaceICodeDomDesignerReloadProvides an interface that can be used to optimize the reloading of a designer.
Public interfaceIDesignerLoaderHostProvides an interface that can extend a designer host to support loading from a serialized state.
Public interfaceIDesignerLoaderServiceProvides an interface that can extend a designer loader to support asynchronous loading of external components.
Public interfaceIDesignerSerializationManagerProvides an interface that can manage design-time serialization.
Public interfaceIDesignerSerializationProviderProvides an interface that enables access to a serializer.
Public interfaceIDesignerSerializationServiceProvides an interface that can invoke serialization and deserialization.
Public interfaceINameCreationServiceProvides a service that can generate unique names for objects.

Public structureMemberRelationshipRepresents a single relationship between an object and a member.

Public delegateResolveNameEventHandlerRepresents the method that handles the ResolveName event of a serialization manager.

Public enumerationBasicDesignerLoader.ReloadOptionsDefines the behavior of the Reload method. These flags can be combined using the bitwise OR operator.
Public enumerationCodeDomLocalizationModelDetermines the localization model to be used by the CodeDom resource adapter.