ExpressionEditor クラス
アセンブリ: System.Design (system.design.dll 内)


Visual Studio 2005 などのビジュアル デザイナ ホストでは、ExpressionEditor クラスを使用してカスタム式エディタ シートをユーザーに表示し、選択された式を評価してデザイン時の描画を行います。
デザイン時のプロパティ グリッドでコントロールの Expressions プロパティを参照すると、ビジュアル デザイナでは、コントロール プロパティの式を設定するためのダイアログ ボックスが表示されます。式の型は、式プレフィックスの一覧に基づいて選択できます。式プレフィックスを一覧から選択すると、ビジュアルなデザイナは、この式の型の構文に基づいて式文字列を設定、評価、および変換するために、関連付けられている ExpressionEditor オブジェクトおよび ExpressionEditorSheet オブジェクトを使用します。ビジュアルなデザイナは、コントロール プロパティに関連付けられた式を設定し、評価された式の結果を使用して、デザイン サーフェイス上に描画されるコントロール プロパティの値を代入します。
静的 GetExpressionEditor メソッドは、特定の式プレフィックスまたは式ビルダに関連付けられている式エディタを取得します。ExpressionEditor オブジェクトの ExpressionPrefix プロパティは、構成された式プレフィックスを返します。EvaluateExpression メソッドは、入力式文字列を評価します。GetExpressionEditorSheet メソッドは、式ダイアログ ボックスでカスタム式プロパティを要求するために使用される ExpressionEditorSheet 実装を返します。
通常、デザイン時に新しい式の型をサポートするには、一意な式プレフィックスを定義し、カスタムの ExpressionBuilder および ExpressionEditor の実装を提供します。オプションで、式ダイアログ ボックスで式を形成するために使用されるプロパティを定義するカスタムの ExpressionEditorSheet 実装を提供できます。
式プレフィックスは、カスタム式の型を識別し、式を式ビルダおよび式エディタに関連付けます。ページでカスタム式が解析されるときに、関連付けられている ExpressionBuilder クラスおよび ExpressionEditor クラスのインスタンスを作成するために式プレフィックスが使用されます。式プレフィックスを式ビルダおよび式エディタに関連付けるには、ExpressionEditorAttribute 属性と ExpressionPrefixAttribute 属性をカスタム ExpressionBuilder クラスに適用し、Web 構成ファイルの expressionBuilders 要素内で式ビルダの式プレフィックスを構成します。プレフィックスは必須ではありませんが、強く推奨されます。
継承時の注意 カスタム ExpressionEditor クラスを派生させる場合は、次の手順を実行する必要があります。-
オプションで、GetExpressionEditorSheet メソッドをオーバーライドして、カスタム式を形成するために組み合わせるプロパティを定義するカスタム クラスを返します。
-
ExpressionBuilder クラス宣言で ExpressionEditorAttribute 属性を適用して、カスタム式ビルダと派生式エディタ クラスとを関連付けます。

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; } } }

System.Web.UI.Design.ExpressionEditor
System.Web.UI.Design.AppSettingsExpressionEditor
System.Web.UI.Design.ConnectionStringsExpressionEditor
System.Web.UI.Design.ResourceExpressionEditor


Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


ExpressionEditor コンストラクタ
アセンブリ: System.Design (system.design.dll 内)


ExpressionEditor クラスは抽象クラスであるため、ExpressionEditor コンストラクタを使用して ExpressionEditor クラスのインスタンスを直接作成できません。
継承時の注意 ExpressionEditor クラスから派生する場合は、ExpressionEditor コンストラクタをオーバーライドして、式エディタ実装にカスタム初期化処理を実装します。

Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


ExpressionEditor プロパティ
ExpressionEditor メソッド

名前 | 説明 | |
---|---|---|
![]() | Equals | オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 ( Object から継承されます。) |
![]() | EvaluateExpression | 式文字列を評価し、コントロール プロパティのデザイン時の値を提供します。 |
![]() | GetExpressionEditor | オーバーロードされます。 式プレフィックスまたは式ビルダに関連付けられている ExpressionEditor 実装を返します。 |
![]() | GetExpressionEditorSheet | 現在の式エディタに関連付けられている式エディタ シートを返します。 |
![]() | GetHashCode | 特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 ( Object から継承されます。) |
![]() | GetType | 現在のインスタンスの Type を取得します。 ( Object から継承されます。) |
![]() | ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 ( Object から継承されます。) |
![]() | ToString | 現在の Object を表す String を返します。 ( Object から継承されます。) |

名前 | 説明 | |
---|---|---|
![]() | Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 ( Object から継承されます。) |
![]() | MemberwiseClone | 現在の Object の簡易コピーを作成します。 ( Object から継承されます。) |

ExpressionEditor メンバ
デザイン時にコントロール プロパティに関連付けられた式を評価したり、式エディタ ダイアログ ボックスで使用する式エディタ シートをビジュアル デザイン ホストに提供したりするための一連のプロパティとメソッドを定義します。このクラスは抽象クラスです。
ExpressionEditor データ型で公開されるメンバを以下の表に示します。



名前 | 説明 | |
---|---|---|
![]() | Equals | オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 (Object から継承されます。) |
![]() | EvaluateExpression | 式文字列を評価し、コントロール プロパティのデザイン時の値を提供します。 |
![]() | GetExpressionEditor | オーバーロードされます。 式プレフィックスまたは式ビルダに関連付けられている ExpressionEditor 実装を返します。 |
![]() | GetExpressionEditorSheet | 現在の式エディタに関連付けられている式エディタ シートを返します。 |
![]() | GetHashCode | 特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 (Object から継承されます。) |
![]() | GetType | 現在のインスタンスの Type を取得します。 (Object から継承されます。) |
![]() | ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 (Object から継承されます。) |
![]() | ToString | 現在の Object を表す String を返します。 (Object から継承されます。) |

名前 | 説明 | |
---|---|---|
![]() | Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 (Object から継承されます。) |
![]() | MemberwiseClone | 現在の Object の簡易コピーを作成します。 (Object から継承されます。) |

Weblioに収録されているすべての辞書からExpressionEditorを検索する場合は、下記のリンクをクリックしてください。

- ExpressionEditorのページへのリンク