CodeDomSerializerBase.SerializeToExpression Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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:
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.
Em seguida, ele localiza o serializador do objeto e solicita que ele serialize.
Se o valor retornado do serializador do objeto for um CodeExpression, a expressão será retornada.
Ele faz uma última chamada para GetExpression ver se o serializador adicionou uma expressão.
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
- IDesignerSerializationManager
- CodeStatementCollection
- CodeExpression
- StatementContext
- Dynamic Source Code Generation and Compilation (Compilação e geração de código-fonte dinâmico)