Sdílet prostřednictvím


CodeDomSerializerBase.DeserializeExpression Metoda

Definice

Deserializuje daný výraz do objektu v paměti.

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

Chcete-li IDesignerSerializationManager použít pro serializaci.

name
String

Název objektu, který je výsledkem výrazu. Může to být null v případě, že není potřeba objekt pojmenovat.

expression
CodeExpression

Interpretovat CodeExpression .

Návraty

Objekt, který je výsledkem interpretace objektu expression.

Poznámky

Toto je pomocná metoda, kterou mohou odvozené třídy volat k deserializaci výrazu. Příkaz deserializuje interpretací a spuštěním výrazu CodeDOM určeného parametrem expression a pak vrátí výsledky. Pokud je potřeba objekt vytvořit jako výsledek tohoto výrazu, bude mu přiřazen název zadaný parametrem name . Název může být null , pokud není potřeba objekt pojmenovat. Následující tabulka popisuje, jak se zpracovávají konkrétní výrazy.

Výraz Chování
CodeThisReferenceExpression Tento výraz představuje this nebo Me. Pokud chcete najít objekt přidružený k tomuto výrazuDeserializeExpression, bude metoda hledat v zásobníku kontextu objekt .RootContext Tento objekt obsahuje kořenový objekt grafu a výraz, který ho představuje. Pokud je objekt přítomen a výraz se shoduje, vrátí se kořenový objekt. Pokud instanci nelze najít, je hlášena chyba.
CodeFieldReferenceExpression Pokud se cíl odkazu na pole vyhodnotí na kořenový objekt, GetInstance použije se metoda parametru manager k načtení instance objektu na základě názvu. V opačném případě se proti cílovému objektu použije standardní reflexe k vyhledání požadovaného pole. Pokud pole nelze najít, je hlášena chyba.
CodeVariableReferenceExpression Metoda GetInstance parametru manager se používá k vyhledání instance představující daný název proměnné. Pokud instanci nelze najít, je hlášena chyba.

DeserializeExpression nadále interpretuje výrazy, dokud se zcela nepřeloží na objekt, nebo dokud už nebude moct výraz zjednodušit. V tomto případě vrátí výrazCodeExpression, DeserializeExpression který obsahuje nejjednodušší výraz. Následující výrazy nejsou podporovány:

Platí pro

Viz také