CodeDomSerializerBase.SerializeToExpression Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Serializza l'oggetto dato in un'espressione.
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
Parametri
- manager
- IDesignerSerializationManager
Classe IDesignerSerializationManager da utilizzare per la serializzazione.
- value
- Object
Oggetto da serializzare. Può essere null
.
Restituisce
Oggetto CodeExpression se value
può essere serializzato; in caso contrario, null
.
Eccezioni
manager
è null
.
Commenti
Il value
parametro può essere null
, nel qual caso verrà restituita un'espressione primitiva.
Il SerializeToExpression metodo usa le regole seguenti per la serializzazione dei tipi:
Chiama innanzitutto il GetExpression metodo per verificare se un'espressione è già stata creata per l'oggetto . In tal caso, restituisce l'espressione esistente.
Individua quindi il serializzatore dell'oggetto e lo chiede di serializzare.
Se il valore restituito del serializzatore dell'oggetto è , CodeExpressionviene restituita l'espressione .
Esegue un'ultima chiamata a GetExpression per verificare se il serializzatore ha aggiunto un'espressione.
Infine, restituisce
null
.
Se non è stato possibile creare alcuna espressione e non è stato trovato alcun serializzatore appropriato, verrà segnalato un errore tramite gestione serializzazione. Non verrà segnalato alcun errore se è stato trovato un serializzatore ma non è stato possibile produrre un'espressione. In questo caso, si presuppone che il serializzatore abbia già segnalato l'errore o che non abbia tentato di serializzare l'oggetto.
Se il serializzatore ha restituito un'istruzione o una raccolta di istruzioni, tali istruzioni non verranno eliminate. Il SerializeToExpression metodo cercherà innanzitutto un oggetto StatementContext nello stack di contesto e aggiungerà istruzioni alla proprietà dell'oggetto contesto dell'istruzione StatementCollection . Se non è presente alcun contesto di istruzione, il SerializeToExpression metodo cercherà nel contesto un CodeStatementCollection oggetto e aggiungerà le istruzioni in questa posizione. Se non viene trovata alcuna posizione per aggiungere le istruzioni, verrà generato un errore.
Nota
Non è consigliabile chiamare il metodo all'interno Serialize durante la SerializeToExpression serializzazione del proprio oggetto. È invece necessario chiamare GetExpression. Se restituisce null
, creare un'espressione personalizzata e chiamare SetExpression. Procedere quindi con il resto della serializzazione.