ExpressionEditor 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
디자인 타임에 컨트롤 속성과 연결된 식을 계산하고 식 편집기 대화 상자에서 사용할 식 편집기 시트를 비주얼 디자인 호스트에 제공하는 데 사용할 속성과 메서드의 집합을 정의합니다. 이 클래스는 추상 클래스입니다.
public ref class ExpressionEditor abstract
public abstract class ExpressionEditor
type ExpressionEditor = class
Public MustInherit Class ExpressionEditor
- 상속
-
ExpressionEditor
- 파생
예제
다음 코드 예제에서 파생 하는 방법에 설명 합니다 ExpressionEditor 클래스 사용자 지정 식 편집기를 정의 합니다.
using System;
using System.Collections;
using System.Collections.Specialized;
using System.CodeDom;
using System.Configuration;
using System.Web.UI.Design;
using System.Web.Compilation;
namespace ExpressionEditorSamples.CS
{
[ExpressionPrefix("CustomAppSettings")]
[ExpressionEditor(typeof(ExpressionEditorSamples.CS.CustomAppSettingsEditor))]
public class CustomAppSettingsBuilder : AppSettingsExpressionBuilder
{
// Use the built-in AppSettingsExpressionBuilder class,
// but associate it with a custom expression editor class.
}
public class CustomAppSettingsEditor : System.Web.UI.Design.ExpressionEditor
{
public override object EvaluateExpression(string expression, object parseTimeData, Type propertyType, IServiceProvider serviceProvider)
{
KeyValueConfigurationCollection customSettings = null;
if (serviceProvider != null)
{
IWebApplication webApp = (IWebApplication)serviceProvider.GetService(typeof(IWebApplication));
if (webApp != null)
{
Configuration config = webApp.OpenWebConfiguration(true);
if (config != null)
{
AppSettingsSection settingsSection = config.AppSettings;
if (settingsSection != null)
{
customSettings = settingsSection.Settings;
}
}
}
}
if (customSettings != null)
{
return customSettings[expression];
}
return expression;
}
}
}
설명
Visual Studio 2005와 같은 비주얼 디자이너 호스트는 클래스를 사용하여 ExpressionEditor 사용자에게 사용자 지정 식 편집기 시트를 표시한 다음 디자인 타임 렌더링을 위해 선택한 식을 평가합니다.
탐색할 때는 Expressions 비주얼 디자이너 컨트롤 디자인 타임 속성 표에서 속성을 컨트롤 속성에 대 한 식 설정 대화 상자를 표시 합니다. 식 접두사 목록을 기반으로 식 형식을 선택할 수 있습니다. 목록에서 식 접두사를 선택 하는 경우 비주얼 디자이너를 사용 하 여 연결 된 ExpressionEditor 고 ExpressionEditorSheet 개체를 설정 하려면 평가 하 고 해당 형식의 식에 대 한 구문을 기반으로 하는 식 문자열을 변환 합니다. 연결 된 컨트롤 속성에 대 한 식을 설정 하 고 계산된 된 식 결과 사용 하 여 컨트롤 디자인 화면에 렌더링 되는 속성 값을 할당 하는 비주얼 디자이너.
정적 GetExpressionEditor 메서드는 특정 식 접두사 또는 식 작성기 연관 된 식 편집기를 가져옵니다. 합니다 ExpressionPrefix 속성에 대 한는 ExpressionEditor 개체 구성 된 식 접두사를 반환 합니다. EvaluateExpression 메서드는 입력된 식 문자열을 계산 합니다. GetExpressionEditorSheet 메서드가 반환 되는 ExpressionEditorSheet 식 대화 상자에서 사용자 지정 식 속성에 대 한 메시지를 표시 하는 구현 합니다.
일반적으로 새로운 식 형식을 디자인 타임 지원, 있습니다 고유한 식 접두사를 정의 하 고 제공 사용자 지정 ExpressionBuilder 고 ExpressionEditor 구현 합니다. 필요에 따라 사용자 지정을 제공할 수 있습니다 ExpressionEditorSheet 식 대화 상자에서 식을 구성 하는 데 사용 되는 속성을 정의 하는 구현 합니다.
사용자 지정 식 유형을 확인 하 고 식을 식 작성기와 식 편집기를 사용 하 여 연결 하는 식 접두사입니다. 식 접두사는 연결 된 인스턴스를 만드는 데 페이지에서 사용자 지정 식을 구문 분석 되 면 ExpressionBuilder 고 ExpressionEditor 클래스입니다. 식 접두사 식 작성기와 식 편집기에 연결 하려면 적용 된 ExpressionEditorAttribute 및 ExpressionPrefixAttribute 사용자 지정 특성 ExpressionBuilder 클래스 및에서 식 작성기에 대 한 식 접두사를 구성 합니다 expressionBuilders
웹 구성 파일의 요소입니다. 접두사는 필수 이지만 좋습니다.
구현자 참고
다음 단계는 사용자 지정을 파생 시키는 데 필요한 ExpressionEditor 클래스: -재정의 된 EvaluateExpression(String, Object, Type, IServiceProvider) 디자인 타임에 사용자 지정 식 유형을 평가 하는 방법입니다.
-선택적으로 재정의 된 GetExpressionEditorSheet(String, IServiceProvider) 결합 되어 사용자 지정 식을 구성 하는 속성을 정의 하는 사용자 지정 클래스를 반환 하는 방법입니다.
적용 합니다 ExpressionEditorAttribute 특성을 ExpressionBuilder 클래스 파생 된 식 편집기 클래스를 사용 하 여 사용자 지정 식 작성기를 연결 하는 선언 합니다.
예를 들어 합니다 ResourceExpressionEditor 클래스에서 파생 되는 ExpressionEditor 클래스 및 평가 하 고 디자인 타임에 리소스 문자열 참조 컨트롤 속성을 사용 하 여 연결에 대 한 구현을 제공 합니다. 합니다 ResourceExpressionBuilder 클래스는 식 접두사를 사용 하 여 연결 됩니다 Resources
하며 ResourceExpressionEditor 구현 합니다. 합니다 GetExpressionEditorSheet(String, IServiceProvider) 메서드가 반환 되는 ResourceExpressionEditorSheet, 리소스 참조 식을 구성 하는 개별 속성을 정의 하는 합니다.
생성자
ExpressionEditor() |
ExpressionEditor 클래스의 새 인스턴스를 초기화합니다. |
속성
ExpressionPrefix |
식 편집기 구현에서 지원되는 식 문자열을 식별하는 식 접두사를 가져옵니다. |
메서드
Equals(Object) |
지정된 개체가 현재 개체와 같은지 확인합니다. (다음에서 상속됨 Object) |
EvaluateExpression(String, Object, Type, IServiceProvider) |
식 문자열을 계산하고 컨트롤 속성에 디자인 타임 값을 제공합니다. |
GetExpressionEditor(String, IServiceProvider) |
지정된 식 접두사와 연결된 ExpressionEditor 구현을 반환합니다. |
GetExpressionEditor(Type, IServiceProvider) |
지정된 식 작성기 형식과 연결된 ExpressionEditor 구현을 반환합니다. |
GetExpressionEditorSheet(String, IServiceProvider) |
현재 식 편집기와 연결된 식 편집기 시트를 반환합니다. |
GetHashCode() |
기본 해시 함수로 작동합니다. (다음에서 상속됨 Object) |
GetType() |
현재 인스턴스의 Type을 가져옵니다. (다음에서 상속됨 Object) |
MemberwiseClone() |
현재 Object의 단순 복사본을 만듭니다. (다음에서 상속됨 Object) |
ToString() |
현재 개체를 나타내는 문자열을 반환합니다. (다음에서 상속됨 Object) |