Aracılığıyla paylaş


ExpressionEditor Sınıf

Tanım

Tasarım zamanında denetim özelliğiyle ilişkili bir ifadeyi değerlendirmek ve ifade düzenleyicisi iletişim kutusunda kullanmak üzere görsel tasarım konağına bir ifade düzenleyici sayfası sağlamak için bir dizi özellik ve yöntem tanımlar. Bu sınıf soyut.

public ref class ExpressionEditor abstract
public abstract class ExpressionEditor
type ExpressionEditor = class
Public MustInherit Class ExpressionEditor
Devralma
ExpressionEditor
Türetilmiş

Örnekler

Aşağıdaki kod örneği, özel bir ifade düzenleyicisi tanımlamak için sınıfından ExpressionEditor türetme işlemini gösterir.

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

Açıklamalar

Visual Studio 2005 gibi bir görsel tasarımcı konağı, kullanıcıya özel ifade düzenleyicisi sayfaları sunmak ve ardından seçili ifadeyi tasarım zamanı işleme için değerlendirmek için sınıfını kullanırExpressionEditor.

Tasarım zamanı Özellikleri kılavuzundaki bir denetimin özelliğine göz attığınızda Expressions , görsel tasarımcı bir denetim özelliği için ifadeleri ayarlamak için bir iletişim kutusu görüntüler. İfade ön ekleri listesine göre ifade türünü seçebilirsiniz. Listeden bir ifade ön eki seçtiğinizde, görsel tasarımcı ilişkili ve ExpressionEditorSheet nesnelerini kullanarak ExpressionEditor bu ifade türünün söz dizimine göre ifade dizesini ayarlar, değerlendirir ve dönüştürür. Görsel tasarımcı, ilişkili denetim özelliği için ifadeyi ayarlar ve ardından tasarım yüzeyinde işlenen denetim özelliği değerlerini atamak için değerlendirilen ifade sonucunu kullanır.

Statik GetExpressionEditor yöntemler, belirli bir ifade ön eki veya ifade oluşturucusu ile ilişkili ifade düzenleyicisini alır. ExpressionPrefix Bir ExpressionEditor nesnenin özelliği yapılandırılan ifade ön ekini döndürür. EvaluateExpression yöntemi bir giriş ifadesi dizesini değerlendirir. yöntemi, GetExpressionEditorSheet ifadeler iletişim kutusundaki özel ifade özelliklerini isteminde kullanılan uygulamayı döndürür ExpressionEditorSheet .

Genellikle, tasarım zamanında yeni bir ifade türünü desteklemek için benzersiz bir ifade ön eki tanımlar ve özel ExpressionBuilder ve ExpressionEditor uygulamalar sağlarsınız. İsteğe bağlı olarak, ifadeler iletişim kutusunda ifadeyi oluşturmak için kullanılan özellikleri tanımlayan özel ExpressionEditorSheet bir uygulama sağlayabilirsiniz.

İfade ön eki özel ifade türünü tanımlar ve bir ifadeyi ifade oluşturucusu ve ifade düzenleyicisiyle ilişkilendirir. Bir sayfada özel ifadeler ayrıştırıldığında, ilişkili ExpressionBuilder ve ExpressionEditor sınıfların örneklerini oluşturmak için ifade ön eki kullanılır. İfade ön ekini bir ifade oluşturucusu ve ifade düzenleyicisiyle ilişkilendirmek için ve ExpressionPrefixAttribute özniteliklerini özel ExpressionBuilder sınıfa uygulayın ExpressionEditorAttribute ve Web yapılandırma dosyasındaki öğesindeki bir ifade oluşturucusunun expressionBuilders ifade ön ekini yapılandırın. Ön ek gerekli değildir, ancak kesinlikle önerilir.

Uygulayanlara Notlar

Özel ExpressionEditor bir sınıf türetilirken aşağıdaki adımlar gereklidir:

Örneğin, sınıfı sınıfından ResourceExpressionEditor ExpressionEditor türetilir ve tasarım zamanında bir denetim özelliği ile bir kaynak dizesi başvuruyu değerlendirmek ve ilişkilendirmek için bir uygulama sağlar. ResourceExpressionBuilder sınıfı, ifade ön eki Resources ve uygulamasıyla ilişkilendirilirResourceExpressionEditor. yöntemi, GetExpressionEditorSheet(String, IServiceProvider) bir ResourceExpressionEditorSheetkaynak başvuru ifadesi oluşturan tek tek özellikleri tanımlayan bir döndürür.

Oluşturucular

ExpressionEditor()

ExpressionEditor sınıfının yeni bir örneğini başlatır.

Özellikler

ExpressionPrefix

İfade düzenleyicisi uygulaması tarafından desteklenen ifade dizelerini tanımlayan ifade ön ekini alır.

Yöntemler

Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.

(Devralındığı yer: Object)
EvaluateExpression(String, Object, Type, IServiceProvider)

bir ifade dizesini değerlendirir ve denetim özelliği için tasarım zamanı değerini sağlar.

GetExpressionEditor(String, IServiceProvider)

Belirtilen ifade ön eki ile ilişkili bir ExpressionEditor uygulama döndürür.

GetExpressionEditor(Type, IServiceProvider)

Belirtilen ifade oluşturucu türüyle ilişkili bir ExpressionEditor uygulama döndürür.

GetExpressionEditorSheet(String, IServiceProvider)

Geçerli ifade düzenleyicisiyle ilişkili bir ifade düzenleyicisi sayfası döndürür.

GetHashCode()

Varsayılan karma işlevi işlevi görür.

(Devralındığı yer: Object)
GetType()

Type Geçerli örneğini alır.

(Devralındığı yer: Object)
MemberwiseClone()

Geçerli Objectöğesinin sığ bir kopyasını oluşturur.

(Devralındığı yer: Object)
ToString()

Geçerli nesneyi temsil eden dizeyi döndürür.

(Devralındığı yer: Object)

Şunlara uygulanır

Ayrıca bkz.