CodeDomSerializerBase.SerializeToExpression 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 l'objet donné dans une expression.
protected:
System::CodeDom::CodeExpression ^ SerializeToExpression(System::ComponentModel::Design::Serialization::IDesignerSerializationManager ^ manager, System::Object ^ value);
protected System.CodeDom.CodeExpression SerializeToExpression (System.ComponentModel.Design.Serialization.IDesignerSerializationManager manager, object value);
protected System.CodeDom.CodeExpression? SerializeToExpression (System.ComponentModel.Design.Serialization.IDesignerSerializationManager manager, object? value);
member this.SerializeToExpression : System.ComponentModel.Design.Serialization.IDesignerSerializationManager * obj -> System.CodeDom.CodeExpression
Protected Function SerializeToExpression (manager As IDesignerSerializationManager, value As Object) As CodeExpression
Paramètres
- manager
- IDesignerSerializationManager
IDesignerSerializationManager à utiliser pour la sérialisation.
- value
- Object
L'objet à sérialiser. Peut être null
.
Retours
Objet CodeExpression si value
peut être sérialisé ; sinon, null
.
Exceptions
manager
a la valeur null
.
Remarques
Le value
paramètre peut être null
, auquel cas une expression primitive sera retournée.
La SerializeToExpression méthode utilise les règles suivantes pour sérialiser les types :
Il appelle d’abord la GetExpression méthode pour voir si une expression a déjà été créée pour l’objet. Si c’est le cas, il retourne l’expression existante.
Il localise ensuite le sérialiseur de l’objet et lui demande de sérialiser.
Si la valeur de retour du sérialiseur de l’objet est , CodeExpressionl’expression est retournée.
Il effectue un dernier appel à GetExpression pour voir si le sérialiseur a ajouté une expression.
Enfin, il retourne
null
.
Si aucune expression n’a pu être créée et qu’aucun sérialiseur approprié n’est trouvé, une erreur est signalée via le gestionnaire de sérialisation. Aucune erreur n’est signalée si un sérialiseur a été trouvé, mais qu’il n’a pas pu produire une expression. Dans ce cas, il est supposé que le sérialiseur a déjà signalé l’erreur ou qu’il n’a pas tenté de sérialiser l’objet.
Si le sérialiseur a retourné une instruction ou une collection d’instructions, ces instructions ne sont pas ignorées. La SerializeToExpression méthode recherche d’abord un StatementContext sur la pile de contexte et ajoute des instructions à la propriété de l’objet de StatementCollection contexte d’instruction. S’il n’existe aucun contexte d’instruction, la SerializeToExpression méthode recherche dans le contexte un CodeStatementCollection et y ajoute les instructions. Si aucun emplacement n’est trouvé pour ajouter les instructions, une erreur est générée.
Notes
Vous ne devez pas appeler la méthode dans Serialize lors de la SerializeToExpression sérialisation de votre propre objet. Au lieu de cela, vous devez appeler GetExpression. S’il retourne null
, créez votre propre expression et appelez SetExpression. Ensuite, continuez avec le reste de votre sérialisation.