CodeDomSerializerBase.DeserializeExpression Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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: