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 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 true
la 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. |