CodeDomSerializerBase.DeserializeExpression 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.
Deserializza l'espressione data in un oggetto in memoria.
protected:
System::Object ^ DeserializeExpression(System::ComponentModel::Design::Serialization::IDesignerSerializationManager ^ manager, System::String ^ name, System::CodeDom::CodeExpression ^ expression);
protected object DeserializeExpression (System.ComponentModel.Design.Serialization.IDesignerSerializationManager manager, string name, System.CodeDom.CodeExpression expression);
protected object? DeserializeExpression (System.ComponentModel.Design.Serialization.IDesignerSerializationManager manager, string? name, System.CodeDom.CodeExpression? expression);
member this.DeserializeExpression : System.ComponentModel.Design.Serialization.IDesignerSerializationManager * string * System.CodeDom.CodeExpression -> obj
Protected Function DeserializeExpression (manager As IDesignerSerializationManager, name As String, expression As CodeExpression) As Object
Parametri
- manager
- IDesignerSerializationManager
Classe IDesignerSerializationManager da utilizzare per la serializzazione.
- name
- String
Nome dell'oggetto risultante dall'espressione. Può essere null
se non è necessario specificare il nome dell'oggetto.
- expression
- CodeExpression
Classe CodeExpression da interpretare.
Restituisce
Oggetto risultante dall'interpretazione di expression
.
Commenti
Si tratta di un metodo helper che le classi derivate possono chiamare per deserializzare un'espressione. Deserializza l'istruzione interpretando ed eseguendo l'espressione CodeDOM specificata dal expression
parametro e quindi restituisce i risultati. Se un oggetto deve essere creato come risultato di questa espressione, verrà assegnato il nome specificato dal name
parametro . Il nome può essere null
se non è necessario assegnare un nome all'oggetto. Nella tabella seguente viene descritto il modo in cui vengono gestite espressioni specifiche.
Expression | Comportamento |
---|---|
CodeThisReferenceExpression | Questa espressione rappresenta this o Me . Per individuare l'oggetto associato a questa espressione, il DeserializeExpression metodo cercherà nello stack di contesto per un RootContextoggetto . Questo oggetto contiene l'oggetto radice del grafico e l'espressione che lo rappresenta. Se l'oggetto è presente e l'espressione corrisponde, verrà restituito l'oggetto radice. Viene segnalato un errore se non è possibile trovare un'istanza. |
CodeFieldReferenceExpression | Se la destinazione del riferimento al campo restituisce l'oggetto radice, il GetInstance metodo del parametro di gestione verrà usato per recuperare l'istanza dell'oggetto in base al nome. In caso contrario, la reflection standard viene usata sull'oggetto di destinazione per individuare il campo richiesto. Se il campo non può trovarsi, viene segnalato un errore. |
CodeVariableReferenceExpression | Il GetInstance metodo del manager parametro viene usato per individuare l'istanza che rappresenta il nome della variabile specificata. Viene segnalato un errore se non è possibile trovare un'istanza. |
DeserializeExpression continua a interpretare le espressioni fino a quando non vengono completamente risolte in un oggetto o fino a quando non può più semplificare l'espressione. In questo caso, DeserializeExpression restituirà un oggetto CodeExpression contenente l'espressione più semplificata. Le espressioni seguenti non sono supportate: