ExpressionEditor Kelas
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Menentukan sekumpulan properti dan metode untuk mengevaluasi ekspresi yang terkait dengan properti kontrol pada waktu desain dan untuk menyediakan lembar editor ekspresi ke host desain visual untuk digunakan dalam kotak dialog editor ekspresi. Kelas ini abstrak.
public ref class ExpressionEditor abstract
public abstract class ExpressionEditor
type ExpressionEditor = class
Public MustInherit Class ExpressionEditor
- Warisan
-
ExpressionEditor
- Turunan
Contoh
Contoh kode berikut menunjukkan cara memperoleh dari ExpressionEditor kelas untuk menentukan editor ekspresi kustom.
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;
}
}
}
Keterangan
Host perancang visual, seperti Visual Studio 2005, menggunakan ExpressionEditor kelas untuk menyajikan lembar editor ekspresi kustom kepada pengguna, lalu mengevaluasi ekspresi yang dipilih untuk penyajian waktu desain.
Saat Anda menelusuri Expressions properti untuk kontrol di kisi Properti waktu desain, perancang visual menampilkan kotak dialog untuk mengatur ekspresi properti kontrol. Anda dapat memilih jenis ekspresi berdasarkan daftar awalan ekspresi. Saat Anda memilih awalan ekspresi dari daftar, perancang visual menggunakan objek dan ExpressionEditorSheet terkait ExpressionEditor untuk mengatur, mengevaluasi, dan mengonversi string ekspresi berdasarkan sintaks untuk jenis ekspresi tersebut. Perancang visual mengatur ekspresi untuk properti kontrol terkait, lalu menggunakan hasil ekspresi yang dievaluasi untuk menetapkan nilai properti kontrol yang dirender pada permukaan desain.
Metode statis GetExpressionEditor mendapatkan editor ekspresi yang terkait dengan awalan ekspresi atau penyusun ekspresi tertentu. Properti ExpressionPrefix untuk objek mengembalikan awalan ekspresi yang ExpressionEditor dikonfigurasi. Metode EvaluateExpression mengevaluasi string ekspresi input. Metode GetExpressionEditorSheet mengembalikan ExpressionEditorSheet implementasi yang digunakan untuk meminta properti ekspresi kustom dalam kotak dialog ekspresi.
Biasanya, untuk mendukung jenis ekspresi baru pada waktu desain, Anda menentukan awalan ekspresi unik dan menyediakan kustom ExpressionBuilder dan ExpressionEditor implementasi. Secara opsional, Anda dapat menyediakan implementasi kustom ExpressionEditorSheet yang menentukan properti yang digunakan untuk membentuk ekspresi dalam kotak dialog ekspresi.
Awalan ekspresi mengidentifikasi jenis ekspresi kustom dan mengaitkan ekspresi dengan penyusun ekspresi dan editor ekspresi. Saat ekspresi kustom diurai dalam halaman, awalan ekspresi digunakan untuk membuat instans kelas dan ExpressionEditor terkaitExpressionBuilder. Untuk mengaitkan awalan ekspresi dengan penyusun ekspresi dan editor ekspresi, terapkan ExpressionEditorAttribute atribut dan ExpressionPrefixAttribute ke kelas kustom ExpressionBuilder dan konfigurasikan awalan ekspresi untuk penyusun ekspresi dalam expressionBuilders elemen dalam file konfigurasi Web. Awalan tidak diperlukan, tetapi sangat disarankan.
Catatan Bagi Implementer
Langkah-langkah berikut diperlukan dalam mendapatkan kelas kustom ExpressionEditor :
Ambil alih EvaluateExpression(String, Object, Type, IServiceProvider) metode untuk mengevaluasi jenis ekspresi kustom pada waktu desain.
Secara opsional, ambil alih GetExpressionEditorSheet(String, IServiceProvider) metode untuk mengembalikan kelas kustom yang menentukan properti yang digabungkan untuk membentuk ekspresi kustom.
Terapkan ExpressionEditorAttribute atribut pada ExpressionBuilder deklarasi kelas untuk mengaitkan penyusun ekspresi kustom dengan kelas editor ekspresi turunan.
Misalnya, ResourceExpressionEditor kelas berasal dari ExpressionEditor kelas dan menyediakan implementasi untuk mengevaluasi dan mengaitkan referensi string sumber daya dengan properti kontrol pada waktu desain. Kelas ResourceExpressionBuilder dikaitkan dengan awalan Resources ekspresi dan implementasinya ResourceExpressionEditor . Metode GetExpressionEditorSheet(String, IServiceProvider) mengembalikan ResourceExpressionEditorSheet, yang menentukan properti individual yang membentuk ekspresi referensi sumber daya.
Konstruktor
| Nama | Deskripsi |
|---|---|
| ExpressionEditor() |
Menginisialisasi instans baru dari kelas ExpressionEditor. |
Properti
| Nama | Deskripsi |
|---|---|
| ExpressionPrefix |
Mendapatkan awalan ekspresi yang mengidentifikasi string ekspresi yang didukung oleh implementasi editor ekspresi. |
Metode
| Nama | Deskripsi |
|---|---|
| Equals(Object) |
Menentukan apakah objek yang ditentukan sama dengan objek saat ini. (Diperoleh dari Object) |
| EvaluateExpression(String, Object, Type, IServiceProvider) |
Mengevaluasi string ekspresi dan menyediakan nilai waktu desain untuk properti kontrol. |
| GetExpressionEditor(String, IServiceProvider) |
Mengembalikan ExpressionEditor implementasi yang terkait dengan awalan ekspresi yang ditentukan. |
| GetExpressionEditor(Type, IServiceProvider) |
Mengembalikan ExpressionEditor implementasi yang terkait dengan jenis penyusun ekspresi yang ditentukan. |
| GetExpressionEditorSheet(String, IServiceProvider) |
Mengembalikan lembar editor ekspresi yang terkait dengan editor ekspresi saat ini. |
| GetHashCode() |
Berfungsi sebagai fungsi hash default. (Diperoleh dari Object) |
| GetType() |
Mendapatkan Type instans saat ini. (Diperoleh dari Object) |
| MemberwiseClone() |
Membuat salinan dangkal dari Objectsaat ini. (Diperoleh dari Object) |
| ToString() |
Mengembalikan string yang mewakili objek saat ini. (Diperoleh dari Object) |