CodeDomSerializerBase.DeserializeExpression Metódus

Definíció

Deszerializálja az adott kifejezést egy memórián belüli objektummá.

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

Paraméterek

manager
IDesignerSerializationManager

A IDesignerSerializationManager szerializáláshoz használandó.

name
String

A kifejezésből származó objektum neve. null Lehet, ha nincs szükség az objektum elnevezésére.

expression
CodeExpression

A CodeExpression értelmezendő.

Válaszok

Egy objektum, amely a következő értelmezéséből származik expression: .

Megjegyzések

Ez egy segédmetódus, amellyel a származtatott osztályok meghívhatják egy kifejezés deszerializálását. Deszerializálja az utasítást a paraméter által expression megadott CodeDOM-kifejezés értelmezésével és végrehajtásával, majd visszaadja az eredményeket. Ha a kifejezés eredményeként létre kell hozni egy objektumot, a paraméter által name megadott nevet kapja. A név akkor lehet null , ha nincs szükség az objektum elnevezésére. Az alábbi táblázat az adott kifejezések kezelését ismerteti.

Expression Magatartás
CodeThisReferenceExpression Ez a kifejezés a vagy thisMea . A kifejezéshez társított objektum megkereséséhez a DeserializeExpression metódus a környezeti veremben fog keresni egy RootContext. Ez az objektum a gráf gyökérobjektumát és az azt jelképező kifejezést tartalmazza. Ha az objektum jelen van, és a kifejezés megegyezik, a rendszer visszaadja a gyökérobjektumot. Hiba jelenik meg, ha egy példány nem található.
CodeFieldReferenceExpression Ha a mezőhivatkozás célja a gyökérobjektumot értékeli ki, a GetInstance kezelőparaméter metódusa a név alapján kéri le az objektumpéldányt. Ellenkező esetben a célobjektumon szabványos tükröződés jelenik meg a kért mező megkereséséhez. Hiba jelenik meg, ha a mező nem található.
CodeVariableReferenceExpression A GetInstance paraméter metódusa manager a megadott változónevet képviselő példány megkeresésére szolgál. Hiba jelenik meg, ha egy példány nem található.

DeserializeExpression továbbra is értelmezi a kifejezéseket, amíg teljesen fel nem oldja őket egy objektumra, vagy amíg nem egyszerűsíti a kifejezést. Ebben az esetben egy DeserializeExpression olyan kifejezést ad vissza, CodeExpression amely a legegyszerűbb kifejezést tartalmazza. A következő kifejezések nem támogatottak:

A következőre érvényes:

Lásd még