TypeCodeDomSerializer.Serialize Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Sérialise la racine de l’objet en créant une 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);
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
Objet à sérialiser.
- members
- ICollection
Collection facultative de membres. Peut être null ou vide.
Retours
Qui CodeTypeDeclaration 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 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 true, un membre est généré. Sinon, une variable locale est générée. Pour plus de commodité, 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é est extrait du nom de l’objet racine, s’il s’agissait 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 montre 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, notamment les RootContextCodeTypeDeclaration |
| Sérialisation des membres | Ensuite, Serialize guide tous les membres et les appels SerializeToExpression. Étant donné que la sérialisation est effectuée opportunistement 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 par GetInitializeMethod. Enfin, un constructeur est fabriqué qui appelle toutes les méthodes retournées par GetInitializeMethod. |
-
Le tableau suivant montre les objets que la Serialize méthode place sur la pile de contextes.
| Instance | Description |
|---|---|
| TypeCodeDomSerializer | Ce sérialiseur. Les classes dérivantes peuvent trouver utile d’ajouter des propriétés publiques à cette classe. |
| CodeTypeDeclaration | Type créé. La plupart des objets n’ont pas besoin d’un accès direct à ce problème. |