ExpressionEditorSheet Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Представляет лист редактора времени разработки для пользовательского выражения. Этот класс должен наследоваться.
public ref class ExpressionEditorSheet abstract
public abstract class ExpressionEditorSheet
type ExpressionEditorSheet = class
Public MustInherit Class ExpressionEditorSheet
- Наследование
-
ExpressionEditorSheet
- Производный
Комментарии
Лист редактора пользовательских выражений позволяет разработчику задавать свойства пользовательского выражения во время разработки. Значения свойств управления можно задать с помощью строк выражений; Строки выражений вычисляются во время выполнения построителем выражений и во время разработки редактором выражений.
При просмотре Expressions свойства элемента управления в сетке свойств времени разработки визуальный конструктор отображает диалоговое окно для задания выражений, которые предоставляют значение для свойства элемента управления. Тип выражения можно выбрать на основе списка префиксов выражений. При выборе префикса выражения из списка визуальный конструктор использует связанные ExpressionEditor и ExpressionEditorSheet объекты для вычисления и преобразования строки выражения на основе синтаксиса для этого типа выражения. Визуальный конструктор использует свойства листа редактора выражений для запроса на одну или несколько строк, которые объединяются в строку пользовательского выражения.
Как правило, для предоставления нового типа выражения во время разработки вы определяете уникальный префикс выражения и предоставляете пользовательские ExpressionBuilder и ExpressionEditor реализации. При необходимости можно предоставить пользовательскую ExpressionEditorSheet реализацию, которая определяет свойства, используемые для формирования выражения. Чтобы связать префикс выражения с построителем выражений и редактором выражений, примените ExpressionEditorAttribute атрибут и ExpressionPrefixAttribute атрибут к пользовательскому ExpressionBuilder классу, а затем настройте префикс выражения для построителя выражений в элементе в expressionBuilders файле веб-конфигурации.
Реализация метода по умолчанию возвращает базовый лист редактора GetExpressionEditorSheet , который использует одну входную строку для формирования выражения. Редакторы пользовательских выражений, производные от ExpressionEditor метода, могут переопределить GetExpressionEditorSheet метод для возврата реализации пользовательского листа редактора. Как правило, пользовательский лист редактора содержит несколько свойств, которые используются для создания строки выражения. Метод GetExpression возвращает результирующая строка выражения на основе текущих свойств выражения.
Например, ResourceExpressionEditor класс наследуется от ExpressionEditor класса и предоставляет реализацию для оценки и связывания строки ресурса со свойством элемента управления во время разработки. Класс ResourceExpressionBuilder связан с префиксом Resources выражения и реализацией ResourceExpressionEditor . Метод GetExpressionEditorSheet возвращает значение ResourceExpressionEditorSheet, определяющее отдельные свойства, которые образуют выражение ссылки на ресурсы.
При наследовании от ExpressionEditorSheet класса необходимо переопределить следующие элементы:
Метод GetExpressionEditorSheet для возврата пользовательской реализации листа редактора.
Конструктор ExpressionEditorSheet для реализации пользовательских действий инициализации для реализации листа редактора выражений.
Примечания для тех, кто реализует этот метод
Наследуйте лист пользовательского редактора выражений из ExpressionEditorSheet класса, если вы определяете новый тип выражения для значений свойств элемента управления и хотите создать строку выражения на основе нескольких значений свойств выражения. Реализация производного класса должна содержать следующее:
Общедоступное свойство для каждого отдельного значения в строке выражения, которое можно задать во время разработки.
Реализация метода, который формирует строку пользовательского GetExpression() выражения из значений свойств листа редактора.
При необходимости, реализация конструктора, которая задает начальные значения свойств листа редактора.
Связанный класс редактора пользовательских выражений создает экземпляр производного листа редактора в GetExpressionEditorSheet(String, IServiceProvider) методе, инициализирует этот экземпляр с текущим набором строк выражения для свойства элемента управления и возвращает экземпляр в визуальный конструктор. Визуальный конструктор позволяет задать свойства листа выражений, а затем вызывает GetExpression() метод для формирования строки выражения из значений свойств листа входных выражений.
Конструкторы
| Имя | Описание |
|---|---|
| ExpressionEditorSheet(IServiceProvider) |
Инициализирует новый экземпляр класса ExpressionEditorSheet. |
Свойства
| Имя | Описание |
|---|---|
| IsValid |
Возвращает значение, указывающее, является ли строка выражения допустимой. |
| ServiceProvider |
Возвращает реализацию поставщика услуг, используемую листом редактора выражений. |
Методы
| Имя | Описание |
|---|---|
| Equals(Object) |
Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
| GetExpression() |
При переопределении в производном классе возвращает строку выражения, сформированную значениями свойств таблицы выражений. |
| GetHashCode() |
Служит хэш-функцией по умолчанию. (Унаследовано от Object) |
| GetType() |
Возвращает Type текущего экземпляра. (Унаследовано от Object) |
| MemberwiseClone() |
Создает неглубокую копию текущей Object. (Унаследовано от Object) |
| ToString() |
Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |