Aracılığıyla paylaş


ExpressionEditor Sınıf

Tanım

Tasarım zamanında bir denetim özelliğiyle ilişkilendirilmiş bir ifadeyi değerlendirmek ve ifade düzenleyicisi iletişim kutusunda kullanmak üzere görsel tasarım konağına bir ifade düzenleyicisi 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çilen ifadeyi tasarım zamanı işleme için değerlendirmek için sınıfını kullanır ExpressionEditor .

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 ifade dizesini bu tür bir ifadenin söz dizimine göre 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 istemde kullanmak için 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 öğesinde 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 türetilir ve bir kaynak dizesi başvurusunun ExpressionEditor tasarım zamanında bir denetim özelliğiyle değerlendirilmesi ve ilişkilendirilmesi için bir uygulama sağlar. ResourceExpressionBuilder sınıfı, ifade ön eki Resources ve uygulamasıyla ilişkilendirilirResourceExpressionEditor. yöntemi, GetExpressionEditorSheet(String, IServiceProvider) kaynak ResourceExpressionEditorSheetbaşvuru ifadesini oluşturan tek tek özellikleri tanımlayan bir döndürür.

Oluşturucular

Name Description
ExpressionEditor()

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

Özellikler

Name Description
ExpressionPrefix

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

Yöntemler

Name Description
Equals(Object)

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

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

İfade dizesini değerlendirir ve bir denetim özelliği için tasarım zamanı değeri 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()

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

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

Geçerli Objectbasit bir kopyasını oluşturur.

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

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

(Devralındığı yer: Object)

Şunlara uygulanır

Ayrıca bkz.