CodeDomSerializerBase.DeserializeExpression Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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 Me dar. 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: