다음을 통해 공유


CodeDomSerializerBase.DeserializeExpression 메서드

정의

지정된 식을 메모리 내의 개체에 역직렬화합니다.

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

serialization에 사용할 IDesignerSerializationManager 입니다.

name
String

식의 결과로 얻어지는 개체의 이름입니다. 개체 이름을 지정할 필요가 없으면 null일 수 있습니다.

expression
CodeExpression

해석할 CodeExpression입니다.

반환

expression을 해석하여 얻어지는 개체입니다.

설명

파생 클래스가 를 호출하여 식을 역직렬화할 수 있는 도우미 메서드입니다. 매개 변수로 지정된 expression CodeDOM 식을 해석하고 실행하여 문을 역직렬화한 다음 결과를 반환합니다. 이 식의 결과로 개체를 만들어야 하는 경우 매개 변수에 지정된 이름이 지정됩니다 name . 개체의 이름을 지정할 필요가 없는 경우 이름이 일 null 수 있습니다. 다음 표에서는 특정 식을 처리하는 방법을 설명합니다.

동작
CodeThisReferenceExpression 이 식은 또는 Methis 나타냅니다. 이 식과 연결된 개체를 찾기 위해 메서드는 DeserializeExpression 컨텍스트 스택에서 를 찾습니다 RootContext. 이 개체에는 그래프의 루트 개체와 그래프를 나타내는 식이 포함됩니다. 개체가 있고 식이 일치하는 경우 루트 개체가 반환됩니다. instance 배치할 수 없는 경우 오류가 보고됩니다.
CodeFieldReferenceExpression 필드 참조의 대상이 루트 개체 GetInstance 로 평가되면 manager 매개 변수의 메서드를 사용하여 이름에 따라 개체 instance 검색합니다. 그렇지 않으면 대상 개체에 대해 표준 리플렉션을 사용하여 요청된 필드를 찾습니다. 필드를 배치할 수 없는 경우 오류가 보고됩니다.
CodeVariableReferenceExpression GetInstance 매개 변수의 manager 메서드는 지정된 변수 이름을 나타내는 instance 찾는 데 사용됩니다. instance 배치할 수 없는 경우 오류가 보고됩니다.

DeserializeExpression 는 개체로 완전히 확인되거나 더 이상 식을 단순화할 수 없을 때까지 식을 계속 해석합니다. 이 경우 는 DeserializeExpression 가장 간소화된 식을 포함하는 을 반환 CodeExpression 합니다. 다음 식은 지원되지 않습니다.

적용 대상

추가 정보