다음을 통해 공유


ExpressionBuilder.GetCodeExpression 메서드

정의

파생 클래스에서 재정의되면 계산된 식을 가져오기 위해 페이지 실행 중에 사용되는 코드를 반환합니다.

public:
 abstract System::CodeDom::CodeExpression ^ GetCodeExpression(System::Web::UI::BoundPropertyEntry ^ entry, System::Object ^ parsedData, System::Web::Compilation::ExpressionBuilderContext ^ context);
public abstract System.CodeDom.CodeExpression GetCodeExpression (System.Web.UI.BoundPropertyEntry entry, object parsedData, System.Web.Compilation.ExpressionBuilderContext context);
abstract member GetCodeExpression : System.Web.UI.BoundPropertyEntry * obj * System.Web.Compilation.ExpressionBuilderContext -> System.CodeDom.CodeExpression
Public MustOverride Function GetCodeExpression (entry As BoundPropertyEntry, parsedData As Object, context As ExpressionBuilderContext) As CodeExpression

매개 변수

entry
BoundPropertyEntry

식에 의해 바인딩된 속성에 대한 정보를 나타내는 개체입니다.

parsedData
Object

ParseExpression(String, Type, ExpressionBuilderContext)에 의해 반환된 구문 분석된 데이터를 포함하는 개체입니다.

context
ExpressionBuilderContext

식을 계산하는 데 필요한 컨텍스트 정보입니다.

반환

속성 할당에 사용되는 CodeExpression입니다.

예제

다음 코드 예제를 반환 하는 방법에 설명 된 CodeExpression 재정의 하 여 개체를 GetCodeExpression 메서드.

public override CodeExpression GetCodeExpression(BoundPropertyEntry entry, 
object parsedData, ExpressionBuilderContext context)
{
    Type type1 = entry.DeclaringType;
    PropertyDescriptor descriptor1 = TypeDescriptor.GetProperties(type1)[entry.PropertyInfo.Name];
    CodeExpression[] expressionArray1 = new CodeExpression[3];
    expressionArray1[0] = new CodePrimitiveExpression(entry.Expression.Trim());
    expressionArray1[1] = new CodeTypeOfExpression(type1);
    expressionArray1[2] = new CodePrimitiveExpression(entry.Name);
    return new CodeCastExpression(descriptor1.PropertyType, new CodeMethodInvokeExpression(new 
   CodeTypeReferenceExpression(base.GetType()), "GetEvalData", expressionArray1));
}
Public Overrides Function GetCodeExpression(ByVal entry _
   As BoundPropertyEntry, ByVal parsedData As Object, ByVal context _
   As ExpressionBuilderContext) As CodeExpression
    Dim type1 As Type = entry.DeclaringType
    Dim descriptor1 As PropertyDescriptor = _
       TypeDescriptor.GetProperties(type1)(entry.PropertyInfo.Name)
    Dim expressionArray1(2) As CodeExpression
    expressionArray1(0) = New CodePrimitiveExpression(entry.Expression.Trim())
    expressionArray1(1) = New CodeTypeOfExpression(type1)
    expressionArray1(2) = New CodePrimitiveExpression(entry.Name)
    Return New CodeCastExpression(descriptor1.PropertyType, _
       New CodeMethodInvokeExpression(New CodeTypeReferenceExpression _
       (MyBase.GetType()), "GetEvalData", expressionArray1))
End Function

설명

클래스에서 상속 되는 ExpressionBuilder 클래스를 구현 해야 합니다는 GetCodeExpression 추상 메서드.

구현자 참고

컨트롤 속성에 대 한 적절 한 형식 캐스팅을 수행 하 고 캐스트 작업을 반환 해야 하는 사용자 지정 식 작성기를 구현 하는 경우는 CodeExpression 개체입니다.

적용 대상