CodeDomSerializerBase.SerializeToExpression Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Serializa el objeto determinado en una expresión.
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
Parámetros
- manager
- IDesignerSerializationManager
IDesignerSerializationManager que se va a usar para la serialización.
- value
- Object
El objeto que se va a serializar. Puede ser null
.
Devoluciones
Objeto CodeExpression si se puede serializar value
; de lo contrario, null
.
Excepciones
manager
es null
.
Comentarios
El value
parámetro puede ser null
, en cuyo caso se devolverá una expresión primitiva.
El SerializeToExpression método usa las siguientes reglas para serializar tipos:
Primero llama al GetExpression método para ver si ya se ha creado una expresión para el objeto . Si es así, devuelve la expresión existente.
A continuación, busca el serializador del objeto y le pide que se serialice.
Si el valor devuelto del serializador del objeto es , CodeExpressionse devuelve la expresión .
Realiza una última llamada a GetExpression para ver si el serializador agregó una expresión.
Por último, devuelve
null
.
Si no se pudo crear ninguna expresión y no se pudo encontrar ningún serializador adecuado, se notificará un error a través del administrador de serialización. No se notificará ningún error si se encontró un serializador, pero no se pudo generar una expresión. En este caso, se supone que el serializador ya informó del error o no intentó serializar el objeto.
Si el serializador devolvió una instrucción o una colección de instrucciones, esas instrucciones no se descartarán. El SerializeToExpression método buscará primero en StatementContext la pila de contexto y agregará instrucciones a la propiedad del objeto de contexto de StatementCollection instrucción. Si no hay ningún contexto de instrucción, el SerializeToExpression método buscará en el contexto CodeStatementCollection de y agregará las instrucciones allí. Si no se encuentra ningún lugar para agregar las instrucciones, se generará un error.
Nota
No debe llamar al SerializeToExpression método dentro Serialize de al serializar su propio objeto. En su lugar, debe llamar a GetExpression. Si devuelve null
, cree su propia expresión y llame a SetExpression. A continuación, continúe con el resto de la serialización.