다음을 통해 공유


ExpressionEditor.EvaluateExpression 메서드

정의

식 문자열을 계산하고 컨트롤 속성에 디자인 타임 값을 제공합니다.

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

디자이너 호스트에서 제공하는 서비스 공급자 구현으로, 추가 디자인 타임 서비스를 가져오는 데 사용됩니다.

반환

Object

식 계산에 성공하면 계산된 식 문자열이 참조하는 개체이고, 그렇지 않으면 null입니다.

설명

비주얼 디자이너 호스트를 사용 하는 EvaluateExpression 메서드 식을 계산 하 고 연결된 된 컨트롤 속성에 대 한 디자인 타임 값을 제공 합니다.

비주얼 디자이너를 사용 하는 ExpressionBuilder.ParseExpression 디자인 타임에, 다음 호출 식 문자열을 구문 분석 하는 방법의 EvaluateExpression 구문 분석 된 식 데이터를 사용 하 여 메서드. 비주얼 디자이너 컨트롤 디자인 화면에 렌더링 되는 속성 값을 할당할 계산된 된 식 결과 사용 합니다.

구현자 참고

파생 된 클래스는 ExpressionEditor 클래스를 재정의 해야 합니다 EvaluateExpression(String, Object, Type, IServiceProvider) 디자인 타임에 사용자 지정 식 유형을 평가 하는 방법.

최소한는 EvaluateExpression(String, Object, Type, IServiceProvider) 구현에는 다음 단계를 사용 해야 합니다.

  1. 식 문자열을 계산 하 고 식에서 참조 되는 개체를 결정 합니다.

  2. 반환 null이면 식 문자열을 평가할 수 없습니다.

  3. 사용 된 IsAssignableFrom(Type) 메서드를 propertyType 확인 하려면 참조 된 개체 수 할당할 수 있는지 여부 제어 속성 형식에 직접 후 다음 작업 중 하나를 수행 하 고 결과 따라: -참조 된 개체는 컨트롤 속성에 직접 할당할 수 있는 경우 식에 대 한 참조 된 개체를 반환 합니다.

-참조 되는 개체는 단순 형식의 경우 문자열과 같은 참조 된 개체를 반환 합니다.

-그렇지 않으면 참조 된 개체를 할당 하거나 속성 형식으로 변환할 수 있는지 여부를 결정 합니다.

  1. 사용 된 CanConvertFrom 메서드를 TypeConverter 개체에 대 한 propertyType 확인 여부 참조 된 개체 수 변환할 컨트롤 속성 형식으로 선택한 후 다음 작업 중 하나를 수행 하 고 결과 따라: -개체는 컨트롤 속성 형식으로 변환할 수 있는 경우 변환 된 개체를 통해 반환 된 ConvertFrom 메서드.

-참조 되는 개체를 할당 하거나 변환할 수 없는 경우 propertyType, 참조 된 개체를 반환 합니다.

필요에 따라 합니다 EvaluateExpression(String, Object, Type, IServiceProvider) 구현을 사용할 수는 parseTimeData 에서 제공 하는 개체는 ParseExpression(String, Type, ExpressionBuilderContext) 최적화 또는 입력된 식 문자열의 평가에 도움이 되는 구현 합니다.

적용 대상

추가 정보