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
Slouží IDesignerSerializationManager k serializaci.
- name
- String
Název objektu, který je výsledkem výrazu. Může to být null v případě, že objekt není potřeba pojmenovat.
- expression
- CodeExpression
Interpretovat CodeExpression .
Návraty
Objekt, který je výsledkem interpretace expression.
Poznámky
Toto je pomocná metoda, která odvozené třídy mohou volat deserializovat výraz. Deserializuje příkaz interpretací a spuštěním výrazu CodeDOM určeného expression parametrem a poté vrátí výsledky. Pokud je potřeba vytvořit objekt jako výsledek tohoto výrazu, bude mu přidělen název určený parametrem name . Název může být null v případě, že objekt není potřeba pojmenovat. Následující tabulka popisuje, jak se zpracovávají konkrétní výrazy.
| Expression | Behavior |
|---|---|
| CodeThisReferenceExpression | Tento výraz představuje this nebo Me. Chcete-li najít objekt, který je přidružen k tomuto výrazuDeserializeExpression, metoda bude hledat v kontextovém zásobníku pro .RootContext Tento objekt obsahuje kořenový objekt grafu a výraz, který ho představuje. Pokud je objekt přítomný a výraz odpovídá, vrátí se kořenový objekt. Pokud se instance nedá najít, zobrazí se chyba. |
| CodeFieldReferenceExpression | Pokud se cíl odkazu na pole vyhodnotí jako kořenový objekt, GetInstance použije se metoda parametru správce k načtení instance objektu na základě názvu. V opačném případě se standardní odraz použije proti cílovému objektu k vyhledání požadovaného pole. Pokud pole nelze najít, zobrazí se chyba. |
| CodeVariableReferenceExpression | Metoda GetInstance parametru manager slouží k vyhledání instance představující daný název proměnné. Pokud se instance nedá najít, zobrazí se chyba. |
DeserializeExpression nadále interpretuje výrazy, dokud nebudou zcela vyřešeny na objekt, nebo dokud už nemůže výraz zjednodušit. V tomto případě vrátí DeserializeExpression výraz, CodeExpression který obsahuje nejvíce zjednodušený výraz. Následující výrazy nejsou podporovány: