Udostępnij za pośrednictwem


CodeDomSerializerBase.DeserializeExpression Metoda

Definicja

Deserializuje podane wyrażenie do obiektu w pamięci.

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

Parametry

manager
IDesignerSerializationManager

Element IDesignerSerializationManager do użycia do serializacji.

name
String

Nazwa obiektu, który wynika z wyrażenia. Może to być null , jeśli nie ma potrzeby nazywania obiektu.

expression
CodeExpression

Element CodeExpression do zinterpretowania.

Zwraca

Obiekt wynikający z interpretacji expressionelementu .

Uwagi

Jest to metoda pomocnika, którą klasy pochodne mogą wywoływać w celu deserializacji wyrażenia. Deserializuje instrukcję, interpretując i wykonując wyrażenie CodeDOM określone przez expression parametr, a następnie zwraca wyniki. Jeśli obiekt musi zostać utworzony w wyniku tego wyrażenia, otrzyma nazwę określoną przez name parametr . Nazwa może być taka null , jeśli nie ma potrzeby nazywania obiektu. W poniższej tabeli opisano sposób obsługi określonych wyrażeń.

Wyrażenie Zachowanie
CodeThisReferenceExpression To wyrażenie reprezentuje this lub Me. Aby zlokalizować obiekt skojarzony z tym wyrażeniem, DeserializeExpression metoda będzie wyglądać w stosie kontekstu dla elementu RootContext. Ten obiekt zawiera obiekt główny grafu i wyrażenie, które go reprezentuje. Jeśli obiekt jest obecny, a wyrażenie jest zgodne, obiekt główny zostanie zwrócony. Zgłaszany jest błąd, jeśli nie można znaleźć wystąpienia.
CodeFieldReferenceExpression Jeśli element docelowy odwołania do pola zostanie obliczony dla obiektu głównego, GetInstance metoda parametru menedżera zostanie użyta do pobrania wystąpienia obiektu na podstawie nazwy. W przeciwnym razie standardowe odbicie jest używane względem obiektu docelowego w celu zlokalizowania żądanego pola. Zgłaszany jest błąd, jeśli nie można znaleźć pola.
CodeVariableReferenceExpression Metoda GetInstance parametru manager służy do lokalizowania wystąpienia reprezentującego daną nazwę zmiennej. Zgłaszany jest błąd, jeśli nie można znaleźć wystąpienia.

DeserializeExpression kontynuuje interpretowanie wyrażeń, dopóki nie zostaną całkowicie rozwiązane z obiektem lub dopóki nie będzie już można uprościć wyrażenia. W takim przypadku DeserializeExpression zostanie zwrócone wyrażenie CodeExpression zawierające najbardziej uproszczone wyrażenie. Następujące wyrażenia nie są obsługiwane:

Dotyczy

Zobacz też