CodeDomSerializerBase.GetExpression 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
傳回指定物件的運算式。
protected:
System::CodeDom::CodeExpression ^ GetExpression(System::ComponentModel::Design::Serialization::IDesignerSerializationManager ^ manager, System::Object ^ value);
protected System.CodeDom.CodeExpression GetExpression (System.ComponentModel.Design.Serialization.IDesignerSerializationManager manager, object value);
protected System.CodeDom.CodeExpression? GetExpression (System.ComponentModel.Design.Serialization.IDesignerSerializationManager manager, object value);
member this.GetExpression : System.ComponentModel.Design.Serialization.IDesignerSerializationManager * obj -> System.CodeDom.CodeExpression
Protected Function GetExpression (manager As IDesignerSerializationManager, value As Object) As CodeExpression
參數
- manager
- IDesignerSerializationManager
供序列化使用的 IDesignerSerializationManager。
- value
- Object
要為其取得運算式的物件。
傳回
CodeExpression 表示 value,或表示 null (如果沒有 value 的現有運算式)。
例外狀況
manager 為 null。
備註
方法會 GetExpression 傳回代表指定物件的表達式。 它可以傳回 null,表示尚未設定描述對象的表達式。 表達式的取得方式有三種:
表達式可能是方法之前呼叫 SetExpression 的結果。
表達式可以在 中找到 RootContext。
表達式可以透過 IReferenceService衍生。
若要透過 IReferenceService衍生表達式,方法會 GetExpression 查詢參考服務中指定對象的名稱。 如果表達式服務傳回有效的名稱, IReferenceService則方法會 GetExpression 檢查名稱中是否有 “.”。 這表示表達式服務發現這個物件是另一個物件上只讀屬性的傳回值。 如果有 “.”, GetExpression 則會將參考分割成元件。 最左邊的部分是將使用 方法評估 GetInstance 的名稱。 針對每個後續部分,將會建置屬性參考表達式。 接著會傳回最終表達式。
如果對象沒有表達式集,或參考服務中找不到物件,則會傳回 null,GetExpression表示對象沒有現有的表達式。