CodeDomSerializerBase.SerializeToExpression Méthode

Définition

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 :

  1. 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.

  2. Il localise ensuite le sérialiseur de l’objet et lui demande de sérialiser.

  3. Si la valeur de retour du sérialiseur de l’objet est , CodeExpressionl’expression est retournée.

  4. Il effectue un dernier appel à GetExpression pour voir si le sérialiseur a ajouté une expression.

  5. 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.

S’applique à

Voir aussi