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
要为其获取表达式的对象。
返回
表示 value
的 CodeExpression,或者,如果没有 value
的现有表达式,则为 null
。
例外
manager
为 null
。
注解
方法 GetExpression 返回表示给定对象的表达式。 它可以返回 null
,指示尚未设置描述对象的表达式。 可通过以下三种方式之一获取表达式:
表达式可能是之前调用 SetExpression 方法的结果。
可以在 中找到 RootContext表达式。
表达式可以通过 派生 IReferenceService。
若要通过 IReferenceService派生表达式, GetExpression 方法将查询引用服务以获取给定对象的名称。 如果表达式服务返回有效名称 , IReferenceService该方法将 GetExpression 检查名称中是否存在“.”。 这表示表达式服务发现此对象是另一个对象上只读属性的返回值。 如果有“.”, GetExpression 会将引用拆分为多个部分。 最左侧的部分是将使用 方法计算 GetInstance 的名称。 对于每个后续部分,将生成一个属性引用表达式。 然后,将返回最终的表达式。
如果对象未设置表达式,或者如果在引用服务中未找到该对象, GetExpression 将返回 null
,指示该对象没有现有表达式。