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 specificata 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);
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
Oggetto IDesignerSerializationManager da utilizzare per la serializzazione.
- name
- String
Nome dell'oggetto risultante dall'espressione. Può essere null se non è necessario denominare l'oggetto.
- expression
- CodeExpression
Oggetto CodeExpression da interpretare.
Valori restituiti
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 denominare l'oggetto. Nella tabella seguente viene descritto il modo in cui vengono gestite espressioni specifiche.
| Expression | Behavior |
|---|---|
| CodeThisReferenceExpression | Questa espressione rappresenta this o Me. Per individuare l'oggetto associato a questa espressione, il DeserializeExpression metodo cercherà nello stack di contesto un oggetto RootContext. Questo oggetto contiene l'oggetto radice del grafico e l'espressione che la rappresenta. Se l'oggetto è presente e l'espressione corrisponde, verrà restituito l'oggetto radice. Se non è possibile individuare un'istanza di , viene segnalato un errore. |
| CodeFieldReferenceExpression | Se la destinazione del riferimento al campo restituisce l'oggetto radice, il GetInstance metodo del parametro manager verrà utilizzato per recuperare l'istanza dell'oggetto in base al nome. In caso contrario, la reflection standard viene utilizzata sull'oggetto di destinazione per individuare il campo richiesto. Se il campo non può essere individuato, viene segnalato un errore. |
| CodeVariableReferenceExpression | Il GetInstance metodo del manager parametro viene usato per individuare l'istanza che rappresenta il nome della variabile specificata. Se non è possibile individuare un'istanza di , viene segnalato un errore. |
DeserializeExpression continua a interpretare le espressioni fino a quando non vengono risolte completamente 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: