CodeDomSerializerBase.DeserializeExpression 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
將指定的運算式還原序列化為記憶體中物件。
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
參數
- manager
- IDesignerSerializationManager
供序列化使用的 IDesignerSerializationManager。
- name
- String
運算式產生的物件名稱。 如果不需要命名該物件,則可為 null
。
- expression
- CodeExpression
要解譯的 CodeExpression。
傳回
expression
之解譯所產生的物件。
備註
這是衍生類別可以呼叫以還原串行化表達式的協助程式方法。 它會藉由解譯和執行 參數指定的 expression
CodeDOM表達式來還原串行化語句,然後傳回結果。 如果對象必須建立為此表達式的結果,則會指定參數所 name
指定的名稱。 如果不需要為物件命名,則名稱可以是 null
。 下表描述如何處理特定表達式。
運算式 | 行為 |
---|---|
CodeThisReferenceExpression | 這個表示式代表 this 或 Me 。 若要找出與此表示式相關聯的物件, DeserializeExpression 方法將會在 的內容堆疊 RootContext中尋找 。 這個物件包含圖形的根物件,以及代表它的表達式。 如果物件存在且表達式相符,則會傳回根物件。 如果找不到實例,就會回報錯誤。 |
CodeFieldReferenceExpression | 如果欄位參考的目標評估為根物件, GetInstance 則管理員參數的 方法將用來根據名稱擷取對象實例。 否則,會針對目標物件使用標準反映來找出要求的欄位。 如果找不到欄位,就會回報錯誤。 |
CodeVariableReferenceExpression | 參數 GetInstance 的 manager 方法可用來找出代表指定變數名稱的實例。 如果找不到實例,就會回報錯誤。 |
DeserializeExpression 會繼續解譯表達式,直到它們完全解析為物件,或直到無法再簡化表達式為止。 在此情況下, DeserializeExpression 會傳回 CodeExpression ,其中包含最簡化的表達式。 不支援下列表示式: