<< Click to Display Table of Contents >> Разработка > Программный код > Функции Модификаторы |
Модификаторы предназначены для задания уровня доступности функции, который определяет возможность использования функции из другого кода.
При объявлении функций можно использовать модификаторы:
•public. Указывается, чтобы задать к функции общий доступ из любого другого кода с максимальными правами без ограничений. Модификатор автоматически добавляется в определении функции при ее создании;
•virtual. Указывается, чтобы функцию можно было переопределять в наследниках или перекрывать. Модификатор можно использовать в функциях инициализации.
Пример объявления:
public virtual void FullName();
•override. Указывается при переопределении функции базового типа сущности. Переопределять можно только те наследуемые функции, для которых в базовом типе сущности указан модификатор virtual. Чтобы переопределить функцию, в наследнике объявите эту функцию с модификатором override.
Пример объявления:
public override void FullName();
Подробнее см. переопределение функции базового типа документа OfficialDocument.
Важно. Функции перекрытых модулей, для которых указан модификатор virtual, также можно переопределять с помощью модификатора override.
•static. Указывается, когда при вызове функции типа сущности не нужно создавать экземпляр конкретной сущности. Параметр _obj будет недоступен.
важно. Модификатор static используется только в функциях типов сущностей. Для функций модуля любая функция считается статической, даже если модификатор static не указан. При работе с отчетами есть особенность: если в тексте объекта отчета используется серверная функция модуля, то в ее объявлении нужно явно указать модификатор static.
Пример объявления:
public static IContractualDocument GetContractualDocumentIgnoreAccessRights(long documentId).
Предположим, что для типа сущности Официальный документ необходимо добавить серверную функцию для получения списка заданий на возврат документа. При этом для функции есть условия: •будет вызываться из клиентского кода. Поэтому перед объявлением функции указывается атрибут Remote; •функция не вносит изменения в данные. Поэтому перед объявлением функции указывается параметр IsPure; •не нужен доступ к экземпляру сущности. Поэтому в объявлении функции указывается модификатор static. Модификатор public в объявлении функции добавится автоматически.
|
Предположим, что в модуле «Делопроизводство» необходимо добавить серверную функцию для создания поручения. При этом есть условия: •функция будет вызываться из клиентского кода и использоваться в функции другого модуля. Поэтому перед объявлением функции указываются атрибуты Remote и Public; •карточка поручения должна загружаться вместе с вложениями за один запрос с веб-сервера. Поэтому перед объявлением функции указывается параметр PackResultEntityEagerly; •не нужен доступ к экземпляру сущности. Поэтому в объявлении функции указывается модификатор static. Модификатор public в объявлении функции добавится автоматически.
|
© Компания Directum, 2024 |