CodeDomSerializerBase.SerializeToExpression Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Serializa o objeto dado numa 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);
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
A IDesignerSerializationManager usar para serialização.
- value
- Object
O objetivo a serializar. Pode ser null.
Devoluções
Um CodeExpression objeto se value pode ser serializado; caso contrário, null.
Exceções
manager é null.
Observações
O value parâmetro pode ser null, caso em que uma expressão primitiva será devolvida.
O SerializeToExpression método utiliza as seguintes regras para serializar tipos:
Primeiro chama o GetExpression método para verificar se uma expressão já foi criada para o objeto. Se sim, devolve a expressão existente.
Depois, localiza o serializador do objeto e pede-lhe que serialize.
Se o valor de retorno do serializador do objeto for um CodeExpression, a expressão é devolvida.
Faz uma última chamada para GetExpression ver se o serializador adicionou uma expressão.
Finalmente, devolve
null.
Se não puder ser criada nenhuma expressão e não for encontrado um serializador adequado, um erro será reportado através do gestor de serialização. Nenhum erro será reportado se foi encontrado um serializador mas não conseguiu produzir uma expressão. Neste caso, assume-se que o serializador já reportou o erro ou não tentou serializar o objeto.
Se o serializador devolveu uma instrução ou uma coleção de instruções, essas instruções não serão descartadas. O SerializeToExpression método procura primeiro um StatementContext na pilha de contexto e adiciona instruções à propriedade do StatementCollection objeto de contexto da instrução. Se não houver contexto de instruções, o SerializeToExpression método irá procurar no contexto a CodeStatementCollection e adicionar as instruções aí. Se não for encontrado um local para adicionar as sentenças, será gerado um erro.
Note
Não deves chamar o SerializeToExpression método dentro Serialize ao serializar o teu próprio objeto. Em vez disso, deves ligar GetExpressionpara . Se regressar null, crie a sua própria expressão e chame SetExpression. Depois prossiga com o resto da sua serialização.