ExpressionEditor.EvaluateExpression 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
식 문자열을 평가하고 컨트롤 속성에 대한 디자인 타임 값을 제공합니다.
public:
abstract System::Object ^ EvaluateExpression(System::String ^ expression, System::Object ^ parseTimeData, Type ^ propertyType, IServiceProvider ^ serviceProvider);
public abstract object EvaluateExpression(string expression, object parseTimeData, Type propertyType, IServiceProvider serviceProvider);
abstract member EvaluateExpression : string * obj * Type * IServiceProvider -> obj
Public MustOverride Function EvaluateExpression (expression As String, parseTimeData As Object, propertyType As Type, serviceProvider As IServiceProvider) As Object
매개 변수
- expression
- String
평가할 식 문자열입니다. 식에는 식 접두사를 포함하지 않습니다.
- parseTimeData
- Object
평가를 위한 추가 구문 분석 정보를 포함하는 개체입니다 expression. 일반적으로 식 작성기에서 제공합니다.
- propertyType
- Type
바인딩된 expression 컨트롤 속성의 형식입니다.
- serviceProvider
- IServiceProvider
추가 디자인 타임 서비스를 가져오는 데 사용되는 디자이너 호스트에서 제공하는 서비스 공급자 구현입니다.
반품
식 계산에 성공하면 계산된 식 문자열에서 참조하는 개체입니다. 그렇지 않으면 . null
설명
비주얼 디자이너 호스트 식을 평가 하 고 관련 된 컨트롤 속성에 대 한 디자인 타임 값을 제공 하는 메서드를 사용 합니다 EvaluateExpression .
비주얼 디자이너는 이 메서드를 사용하여 ExpressionBuilder.ParseExpression 디자인 타임에 식 문자열을 구문 분석한 다음 구문 분석된 식 데이터를 사용하여 메서드를 호출 EvaluateExpression 합니다. 비주얼 디자이너는 평가된 식 결과를 사용하여 디자인 화면에서 렌더링되는 컨트롤 속성 값을 할당합니다.
구현자 참고
클래스에서 파생되는 클래스는 디자인 타임에 ExpressionEditor 사용자 지정 식 형식을 EvaluateExpression(String, Object, Type, IServiceProvider) 평가하기 위해 메서드를 재정의해야 합니다.
최소한 구현은 EvaluateExpression(String, Object, Type, IServiceProvider) 다음 단계를 사용해야 합니다.
식 문자열을 평가하고 식에서 참조하는 개체를 결정합니다.
식 문자열을 평가할 수 없는 경우 반환
null합니다.메서드를 IsAssignableFrom(Type) 사용하여 참조된 개체를 컨트롤 속성 형식에
propertyType직접 할당할 수 있는지 여부를 확인한 다음 결과에 따라 다음 작업 중 하나를 완료합니다.참조된 개체를 컨트롤 속성에 직접 할당할 수 있는 경우 식에 대해 참조된 개체를 반환합니다.
참조된 개체가 문자열과 같은 단순 형식인 경우 참조된 개체를 반환합니다.
그렇지 않은 경우 참조된 개체를 속성 형식에 할당하거나 속성 형식으로 변환할 수 있는지 확인합니다.
CanConvertFrom 참조된 개체를 TypeConverter 컨트롤 속성 형식으로 변환할 수 있는지 여부를 확인하려면 개체
propertyType의 메서드를 사용한 다음 결과에 따라 다음 작업 중 하나를 완료합니다.개체를 컨트롤 속성 형식으로 변환할 수 있는 경우 메서드를 사용하여 변환된 개체를 ConvertFrom 반환합니다.
참조된 개체를 할당하거나 변환할
propertyType수 없는 경우 참조된 개체를 반환합니다.
필요에 따라 구현에서 EvaluateExpression(String, Object, Type, IServiceProvider) 제공하는 parseTimeData 개체를 사용하여 ParseExpression(String, Type, ExpressionBuilderContext) 입력 식 문자열을 최적화하거나 평가할 수 있습니다.