ExpressionEditorとは? わかりやすく解説

ExpressionEditor クラス

メモ : このクラスは、.NET Framework version 2.0 で新しく追加されたものです。

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

名前空間: System.Web.UI.Design
アセンブリ: System.Design (system.design.dll 内)
構文構文

Public MustInherit Class
 ExpressionEditor
Dim instance As ExpressionEditor
public abstract class ExpressionEditor
public ref class ExpressionEditor abstract
public abstract class ExpressionEditor
public abstract class ExpressionEditor
解説解説

Visual Studio 2005 などのビジュアル デザイナ ホストでは、ExpressionEditor クラスを使用してカスタム式エディタ シートをユーザーに表示し、選択された式を評価してデザイン時の描画を行います。

デザイン時のプロパティ グリッドでコントロールの Expressions プロパティを参照すると、ビジュアル デザイナでは、コントロール プロパティの式を設定するためのダイアログ ボックスが表示されます。式の型は、式プレフィックスの一覧に基づいて選択できます。式プレフィックスを一覧から選択すると、ビジュアルなデザイナは、この式の型の構文に基づいて式文字列を設定、評価、および変換するために、関連付けられている ExpressionEditor オブジェクトおよび ExpressionEditorSheet オブジェクトを使用します。ビジュアルなデザイナは、コントロール プロパティに関連付けられた式を設定し、評価された式の結果を使用して、デザイン サーフェイス上に描画されるコントロール プロパティの値を代入します。

静的 GetExpressionEditor メソッドは、特定の式プレフィックスまたは式ビルダに関連付けられている式エディタを取得します。ExpressionEditor オブジェクトの ExpressionPrefix プロパティは、構成された式プレフィックスを返します。EvaluateExpression メソッドは、入力式文字列を評価します。GetExpressionEditorSheet メソッドは、式ダイアログ ボックスでカスタム式プロパティを要求するために使用される ExpressionEditorSheet 実装を返します。

通常、デザイン時に新しい式の型をサポートするには、一意な式プレフィックスを定義し、カスタムの ExpressionBuilder および ExpressionEditor の実装を提供します。オプションで、式ダイアログ ボックスで式を形成するために使用されるプロパティを定義するカスタムの ExpressionEditorSheet 実装を提供できます。

式プレフィックスは、カスタム式の型を識別し、式を式ビルダおよび式エディタに関連付けます。ページでカスタム式が解析されるときに、関連付けられている ExpressionBuilder クラスおよび ExpressionEditor クラスのインスタンスを作成するために式プレフィックスが使用されます。式プレフィックスを式ビルダおよび式エディタに関連付けるには、ExpressionEditorAttribute 属性と ExpressionPrefixAttribute 属性をカスタム ExpressionBuilder クラスに適用し、Web 構成ファイルの expressionBuilders 要素内で式ビルダの式プレフィックスを構成します。プレフィックスは必須ではありませんが、強く推奨されます。

継承時の注意 カスタム ExpressionEditor クラスを派生させる場合は、次の手順を実行する必要があります。

たとえば、ResourceExpressionEditor クラスは ExpressionEditor クラスから派生し、デザイン時にリソース文字列参照を評価したりコントロール プロパティに関連付けたりするための実装を提供します。ResourceExpressionBuilder クラスは、式のプレフィックスである Resources および ResourceExpressionEditor 実装と関連付けられています。GetExpressionEditorSheet メソッドは、リソース参照式を形成する各プロパティを定義する ResourceExpressionEditorSheet を返します。
使用例使用例

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.Object
  System.Web.UI.Design.ExpressionEditor
     System.Web.UI.Design.AppSettingsExpressionEditor
     System.Web.UI.Design.ConnectionStringsExpressionEditor
     System.Web.UI.Design.ResourceExpressionEditor
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバの場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
ExpressionEditor メンバ
System.Web.UI.Design 名前空間
System.Web.UI.Design.ExpressionEditorSheet
System.Web.Compilation.ExpressionBuilder
HtmlControlDesigner.Expressions
System.Web.Compilation.ExpressionEditorAttribute
System.Web.Configuration.ExpressionBuilder

ExpressionEditor コンストラクタ

メモ : このコンストラクタは、.NET Framework version 2.0 で新しく追加されたものです。

ExpressionEditor クラスの新しいインスタンスを初期化します。

名前空間: System.Web.UI.Design
アセンブリ: System.Design (system.design.dll 内)
構文構文

Dim instance As New ExpressionEditor
protected ExpressionEditor ()
protected:
ExpressionEditor ()
protected ExpressionEditor ()
protected function ExpressionEditor ()
解説解説

ExpressionEditor クラスは抽象クラスであるため、ExpressionEditor コンストラクタを使用して ExpressionEditor クラスのインスタンスを直接作成できません。

継承時の注意 ExpressionEditor クラスから派生する場合は、ExpressionEditor コンストラクタをオーバーライドして、式エディタ実装にカスタム初期化処理を実装します。

.NET Framework のセキュリティ.NET Framework のセキュリティ
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
ExpressionEditor クラス
ExpressionEditor メンバ
System.Web.UI.Design 名前空間
System.Web.UI.Design.ExpressionEditorSheet
System.Web.Compilation.ExpressionBuilder
HtmlControlDesigner.Expressions
System.Web.Compilation.ExpressionEditorAttribute

ExpressionEditor プロパティ


パブリック プロパティパブリック プロパティ

参照参照

関連項目

ExpressionEditor クラス
System.Web.UI.Design 名前空間
System.Web.UI.Design.ExpressionEditorSheet
System.Web.Compilation.ExpressionBuilder
HtmlControlDesigner.Expressions
System.Web.Compilation.ExpressionEditorAttribute
System.Web.Configuration.ExpressionBuilder

ExpressionEditor メソッド


パブリック メソッドパブリック メソッド

プロテクト メソッドプロテクト メソッド
参照参照

関連項目

ExpressionEditor クラス
System.Web.UI.Design 名前空間
System.Web.UI.Design.ExpressionEditorSheet
System.Web.Compilation.ExpressionBuilder
HtmlControlDesigner.Expressions
System.Web.Compilation.ExpressionEditorAttribute
System.Web.Configuration.ExpressionBuilder

ExpressionEditor メンバ

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

ExpressionEditor データ型で公開されるメンバを以下の表に示します。


プロテクト コンストラクタプロテクト コンストラクタ
  名前 説明
プロテクト メソッド ExpressionEditor ExpressionEditor クラスの新しいインスタンスを初期化します。
パブリック プロパティパブリック プロパティ
パブリック メソッドパブリック メソッド
プロテクト メソッドプロテクト メソッド
参照参照

関連項目

ExpressionEditor クラス
System.Web.UI.Design 名前空間
System.Web.UI.Design.ExpressionEditorSheet
System.Web.Compilation.ExpressionBuilder
HtmlControlDesigner.Expressions
System.Web.Compilation.ExpressionEditorAttribute
System.Web.Configuration.ExpressionBuilder



英和和英テキスト翻訳

英語⇒日本語日本語⇒英語

辞書ショートカット

すべての辞書の索引

「ExpressionEditor」の関連用語

ExpressionEditorのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



ExpressionEditorのページの著作権

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2026 Microsoft.All rights reserved.

©2026 GRAS Group, Inc.RSS