Partager via


TypeCodeDomSerializer.Serialize Méthode

Définition

Sérialise la racine de l'objet en créant une nouvelle déclaration de type qui définit la racine.

public:
 virtual System::CodeDom::CodeTypeDeclaration ^ Serialize(System::ComponentModel::Design::Serialization::IDesignerSerializationManager ^ manager, System::Object ^ root, System::Collections::ICollection ^ members);
public virtual System.CodeDom.CodeTypeDeclaration Serialize (System.ComponentModel.Design.Serialization.IDesignerSerializationManager manager, object root, System.Collections.ICollection members);
public virtual System.CodeDom.CodeTypeDeclaration Serialize (System.ComponentModel.Design.Serialization.IDesignerSerializationManager manager, object root, System.Collections.ICollection? members);
abstract member Serialize : System.ComponentModel.Design.Serialization.IDesignerSerializationManager * obj * System.Collections.ICollection -> System.CodeDom.CodeTypeDeclaration
override this.Serialize : System.ComponentModel.Design.Serialization.IDesignerSerializationManager * obj * System.Collections.ICollection -> System.CodeDom.CodeTypeDeclaration
Public Overridable Function Serialize (manager As IDesignerSerializationManager, root As Object, members As ICollection) As CodeTypeDeclaration

Paramètres

manager
IDesignerSerializationManager

Gestionnaire de sérialisation à utiliser pour la sérialisation.

root
Object

L'objet à sérialiser.

members
ICollection

Collection facultative de membres. Peut être null ou vide.

Retours

CodeTypeDeclaration qui définit l'objet racine.

Exceptions

manager ou root est null.

Remarques

La Serialize méthode sérialise l’objet racine donné et la collection facultative de membres pour créer une définition de type. Si la members collection contient des valeurs, ces valeurs sont sérialisées. Les valeurs elles-mêmes peuvent se sérialiser en tant que variables membres ou variables locales. Cette détermination est effectuée en recherchant une propriété extendeur sur l’objet appelé GenerateMember. Si truela valeur est , un membre est généré. Sinon, une variable locale est générée. Pour des raisons pratiques, la members collection peut contenir l’objet racine. Dans ce cas, l’objet racine n’est pas également ajouté en tant que membre ou variable locale.

Le nom du type retourné provient du nom de l’objet racine, s’il s’agit d’un objet nommé. Si ce n’est pas le cas, un nom est fabriqué à partir du nom de type simple de la classe racine.

Le tableau suivant présente les tâches effectuées par l’implémentation par défaut de la Serialize méthode .

Tâche Description
Amorçage de contexte Le contexte de sérialisation est initialisé avec des données, y compris et RootContextCodeTypeDeclaration
Sérialisation des membres Ensuite, Serialize guide tous les membres et appelle SerializeToExpression. Étant donné que la sérialisation est effectuée de manière opportuniste dans SerializeToExpression, cela garantit que la sérialisation n’est pas effectuée deux fois.
Sérialisation racine Ensuite, l’objet racine est sérialisé et ses instructions sont ajoutées à la collection d’instructions.
Intégration d’instructions Une fois tous les objets sérialisés, la Serialize méthode trie les instructions et les ajoute à une méthode retournée à partir de GetInitializeMethod. Enfin, un constructeur est fabriqué qui appelle toutes les méthodes retournées par GetInitializeMethod.

-

Le tableau suivant présente les objets que la Serialize méthode place sur la pile de contextes.

Instance Description
TypeCodeDomSerializer Ce sérialiseur. Les classes dérivées peuvent trouver utile d’ajouter des propriétés publiques à cette classe.
CodeTypeDeclaration Type en cours de création. La plupart des objets n’ont pas besoin d’un accès direct à cela.

S’applique à

Voir aussi