CodeDomSerializerBase.DeserializeExpression Methode

Definition

Deserialisiert den angegebenen Ausdruck in ein Speicherobjekt.

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

Der IDesignerSerializationManager für die Serialisierung zu verwendende Code.

name
String

Der Name des Objekts, das aus dem Ausdruck resultiert. Kann sein null , wenn es nicht erforderlich ist, das Objekt zu benennen.

expression
CodeExpression

Der CodeExpression zu interpretierende.

Gibt zurück

Ein Objekt, das sich aus der Interpretation von expression.

Hinweise

Dies ist eine Hilfsmethode, die abgeleitete Klassen aufrufen können, um einen Ausdruck deserialisieren zu können. Sie deserialisiert die Anweisung, indem der codeDOM-Ausdruck interpretiert und ausgeführt wird, der durch den expression Parameter angegeben wird, und gibt dann die Ergebnisse zurück. 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 es nicht erforderlich ist, das Objekt zu benennen. In der folgenden Tabelle wird beschrieben, wie bestimmte Ausdrücke behandelt werden.

Expression 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. Wenn eine Instanz nicht gefunden werden kann, wird ein Fehler gemeldet.
CodeFieldReferenceExpression Wenn das Ziel des Feldverweises für das Stammobjekt ausgewertet wird, wird die GetInstance Methode des Managerparameters verwendet, um die Objektinstanz basierend auf dem Namen abzurufen. Andernfalls wird die Standardreflexion für das Zielobjekt verwendet, um das angeforderte Feld zu suchen. Wenn das Feld nicht gefunden werden kann, wird ein Fehler gemeldet.
CodeVariableReferenceExpression Die GetInstance Methode des manager Parameters wird verwendet, um die Instanz zu suchen, die den angegebenen Variablennamen darstellt. Wenn eine Instanz nicht gefunden werden kann, wird ein Fehler gemeldet.

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 Wert zurückgegeben, DeserializeExpression der den vereinfachtsten Ausdruck enthält. Die folgenden Ausdrücke werden nicht unterstützt:

Gilt für:

Weitere Informationen