Compartilhar via


CodeDomSerializerBase.SerializeToExpression Método

Definição

Serializa o objeto fornecido em uma expressão.

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

O IDesignerSerializationManager a ser usado para serialização.

value
Object

O objeto a ser serializado. Pode ser null.

Retornos

Um CodeExpression objeto se value puder ser serializado; caso contrário, null.

Exceções

manager é null.

Comentários

O value parâmetro pode ser null, nesse caso, uma expressão primitiva será retornada.

O SerializeToExpression método usa as seguintes regras para serializar tipos:

  1. Ele primeiro chama o GetExpression método para ver se uma expressão já foi criada para o objeto. Em caso afirmativo, ele retorna a expressão existente.

  2. Em seguida, ele localiza o serializador do objeto e solicita que ele serialize.

  3. Se o valor retornado do serializador do objeto for um CodeExpression, a expressão será retornada.

  4. Ele faz uma última chamada para GetExpression ver se o serializador adicionou uma expressão.

  5. Por fim, ele retorna null.

Se nenhuma expressão puder ser criada e nenhum serializador adequado puder ser encontrado, um erro será relatado por meio do gerenciador de serialização. Nenhum erro será relatado se um serializador foi encontrado, mas não conseguiu produzir uma expressão. Nesse caso, supõe-se que o serializador já relatou o erro ou não tentou serializar o objeto.

Se o serializador retornar uma instrução ou uma coleção de instruções, essas instruções não serão descartadas. O SerializeToExpression método procurará primeiro uma StatementContext pilha de contexto e adicionará instruções à propriedade do objeto de contexto de StatementCollection instrução. Se não houver contexto de instrução, o SerializeToExpression método procurará no contexto uma CodeStatementCollection e adicionará as instruções lá. Se nenhum local puder ser encontrado para adicionar as instruções, um erro será gerado.

Observação

Você não deve chamar o SerializeToExpression método ao Serialize serializar seu próprio objeto. Em vez disso, você deve chamar GetExpression. Se ele retornar null, crie sua própria expressão e chame SetExpression. Em seguida, prossiga com o restante da serialização.

Aplica-se a

Confira também