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 메서드는 특정 식 접두사 또는 식 작성기와 연결된 식 편집기를 가져옵니다. 개체의 ExpressionEditor 속성은 ExpressionPrefix 구성된 식 접두사를 반환합니다. 이 메서드는 EvaluateExpression 입력 식 문자열을 평가합니다. 이 메서드는 GetExpressionEditorSheet 식 대화 상자에서 사용자 지정 식 속성을 묻는 메시지를 표시하는 데 사용되는 구현을 반환 ExpressionEditorSheet 합니다.
일반적으로 디자인 타임에 새 식 형식을 지원하려면 고유한 식 접두사를 정의하고 사용자 지정 ExpressionBuilder 및 ExpressionEditor 구현을 제공합니다. 필요에 따라 식 대화 상자에서 식을 형성하는 데 사용되는 속성을 정의하는 사용자 지정 ExpressionEditorSheet 구현을 제공할 수 있습니다.
식 접두사는 사용자 지정 식 형식을 식별하고 식 작성기 및 식 편집기와 식을 연결합니다. 페이지에서 사용자 지정 식을 구문 분석할 때 식 접두사는 연결된 ExpressionBuilder 클래스 및 ExpressionEditor 클래스의 인스턴스를 만드는 데 사용됩니다. 식 접두사를 식 작성기 및 식 편집기와 연결하려면 사용자 지정 ExpressionBuilder 클래스에 및 ExpressionPrefixAttribute 특성을 적용 ExpressionEditorAttribute 하고 웹 구성 파일의 요소에서 식 작성기용 expressionBuilders 식 접두사를 구성합니다. 접두사는 필요하지 않지만 권장됩니다.
구현자 참고
사용자 지정 ExpressionEditor 클래스를 파생하려면 다음 단계가 필요합니다.
디자인 타임에 EvaluateExpression(String, Object, Type, IServiceProvider) 사용자 지정 식 형식을 평가하도록 메서드를 재정의합니다.
필요에 따라 사용자 지정 식을 형성하기 위해 결합된 속성을 정의하는 사용자 지정 클래스를 반환하도록 메서드를 재정 GetExpressionEditorSheet(String, IServiceProvider) 의합니다.
ExpressionEditorAttribute 클래스 선언에 ExpressionBuilder 특성을 적용하여 사용자 지정 식 작성기를 파생 식 편집기 클래스와 연결합니다.
예를 들어 클래스는 ResourceExpressionEditor 클래스에서 ExpressionEditor 파생되며 디자인 타임에 리소스 문자열 참조를 평가하고 컨트롤 속성과 연결하기 위한 구현을 제공합니다.
ResourceExpressionBuilder 클래스는 식 접두사 Resources 및 구현과 연결됩니다ResourceExpressionEditor. 메서드는 GetExpressionEditorSheet(String, IServiceProvider) 리소스 참조 식을 형성하는 개별 속성을 정의하는 를 반환 ResourceExpressionEditorSheet합니다.
생성자
| Name | Description |
|---|---|
| ExpressionEditor() |
ExpressionEditor 클래스의 새 인스턴스를 초기화합니다. |
속성
| Name | Description |
|---|---|
| ExpressionPrefix |
식 편집기 구현에서 지원하는 식 문자열을 식별하는 식 접두사를 가져옵니다. |
메서드
| Name | Description |
|---|---|
| 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) |