ExpressionEditor Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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:
EvaluateExpression(String, Object, Type, IServiceProvider) Tasarım zamanında özel ifade türünü değerlendirmek için yöntemini geçersiz kılın.
İsteğe bağlı olarak, özel ifadeyi GetExpressionEditorSheet(String, IServiceProvider) oluşturmak için birleştirilen özellikleri tanımlayan özel bir sınıf döndürmek için yöntemini geçersiz kılın.
Özel ifade oluşturucusunu ExpressionEditorAttributeExpressionBuilder türetilmiş ifade düzenleyicisi sınıfıyla ilişkilendirmek için sınıf bildiriminde özniteliğini uygulayın.
Ö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) |