Freigeben über


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);
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

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. Es deserialisiert die -Anweisung, indem der codeDOM-Ausdruck interpretiert und ausgeführt wird, der durch den expression Parameter angegeben ist, und gibt dann die Ergebnisse zurück. Wenn ein Objekt als Ergebnis dieses Ausdrucks erstellt werden muss, erhält es den vom name Parameter angegebenen Namen. Der Name kann lauten null , wenn es nicht erforderlich ist, das Objekt zu benennen. In der folgenden Tabelle wird beschrieben, wie bestimmte Ausdrücke behandelt werden.

Ausdruck Verhalten
CodeThisReferenceExpression Dieser Ausdruck stellt this oder Medar. Um das Objekt zu suchen, das diesem Ausdruck zugeordnet ist, sucht die DeserializeExpression -Methode im Kontextstapel nach einem RootContext. Dieses Objekt enthält das Stammobjekt des Graphen 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 ein instance nicht gefunden werden kann.
CodeFieldReferenceExpression Wenn das Ziel des Feldverweis auf das Stammobjekt ausgewertet wird, wird die GetInstance -Methode des manager-Parameters verwendet, um das Objekt abzurufen, instance basierend auf dem Namen. Andernfalls wird die Standardreflektion 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 den instance zu suchen, der den angegebenen Variablennamen darstellt. Ein Fehler wird gemeldet, wenn ein instance nicht gefunden werden kann.

DeserializeExpression interpretiert weiterhin Ausdrücke, bis sie vollständig in ein Objekt aufgelöst sind oder bis der Ausdruck nicht mehr vereinfacht werden kann. Gibt in diesem Fall einen CodeExpression zurück, DeserializeExpression der den am einfachsten vereinfachten Ausdruck enthält. Die folgenden Ausdrücke werden nicht unterstützt:

Gilt für:

Weitere Informationen