CodeDomSerializerBase.DeserializeExpression Methode

Definition

Deserialisiert den angegebenen Ausdruck in ein im Speicher enthaltenes Objekt.

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

Parameter

manager
IDesignerSerializationManager

Die für die Serialisierung zu verwendende IDesignerSerializationManager.

name
String

Der Name des sich aus dem Ausdruck ergebenden Objekts. Kann null sein, wenn die Benennung des Objekts nicht erforderlich ist.

expression
CodeExpression

Der zu interpretierende CodeExpression.

Gibt zurück

Object

Ein Objekt, das sich aus der Interpretation von expression ergibt.

Hinweise

Dies ist eine Hilfsmethode, die abgeleitete Klassen aufrufen können, um einen Ausdruck zu deserialisieren. Die Anweisung wird durch Interpretieren und Ausführen des CodeDOM-Ausdrucks, der durch den expression Parameter angegeben wird, deserialisiert und anschließend die Ergebnisse zurückgegeben. Wenn ein Objekt als Ergebnis dieses Ausdrucks erstellt werden muss, erhält es den durch den name Parameter angegebenen Namen. Der Name kann sein null , wenn kein Name des Objekts erforderlich ist. In der folgenden Tabelle wird beschrieben, wie bestimmte Ausdrücke behandelt werden.

Ausdruck Verhalten
CodeThisReferenceExpression Dieser Ausdruck stellt this oder Me. Um das Objekt zu finden, das diesem Ausdruck zugeordnet ist, sucht die DeserializeExpression Methode im Kontextstapel nach einem RootContext. Dieses Objekt enthält das Stammobjekt des Diagramms und den Ausdruck, der es darstellt. Wenn das Objekt vorhanden ist und der Ausdruck übereinstimmt, wird das Stammobjekt zurückgegeben. Ein Fehler wird gemeldet, wenn eine Instanz nicht gefunden werden kann.
CodeFieldReferenceExpression Wenn das Ziel des Feldverweis für das Stammobjekt ausgewertet wird, wird die GetInstance Methode des Managerparameters verwendet, um die Objektinstanz basierend auf dem Namen abzurufen. Andernfalls wird die Standardreflektion für das Zielobjekt verwendet, um das angeforderte Feld zu suchen. Ein Fehler wird gemeldet, wenn das Feld nicht gefunden werden kann.
CodeVariableReferenceExpression Die GetInstance Methode des manager Parameters wird verwendet, um die Instanz zu suchen, die den angegebenen Variablennamen darstellt. Ein Fehler wird gemeldet, wenn eine Instanz nicht gefunden werden kann.

DeserializeExpression interpretiert weiterhin Ausdrücke, bis sie vollständig in ein Objekt aufgelöst werden, oder bis sie den Ausdruck nicht mehr vereinfachen können. In diesem Fall wird ein CodeExpression Objekt zurückgegeben, DeserializeExpression das den vereinfachtsten Ausdruck enthält. Die folgenden Ausdrücke werden nicht unterstützt:

Gilt für:

Siehe auch