CodeDomSerializerBase.DeserializeExpression Metodo

Definizione

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:

Si applica a

Vedi anche