CodeDomSerializerBase.DeserializeExpression Metodo

Definizione

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:

Si applica a

Vedi anche