Давайте теперь, немного усложним пример и заодно рассмотрим использование другого шаблона для создания встроенных C# функций - метод с параметрами.
Сейчас мы создадим функцию, которая будет возвращать дату либо в полном формате (long date), либо в сокращенном формате (short date). По умолчанию - это будет полный формат, однако пользователь функции сможет выбирать формат благодаря входному параметру функции.
Для начала создадим заготовку функции, выбирая на этот раз шаблон "метод с параметрами":
- Заходим в админку в раздел Functions и добавляем встроенную C# функцию (C# functions | Add Inline C# Function).
- В появившемся окне заполняем поля:
- Name: CurrentDate2
- Namespace: Demo
- Description: "Возвращает текущую дату в длинном или коротком формате"
- Template: Method with parameters.
- Нажимаем Finish.
Метод будет иметь вид:
public static bool CurrentDate2(int myIntValue, string myStringValue)
{
return true;
}
Входные параметры
Обратите внимание на два параметра, созданных по умолчанию: myIntValue, myStringValue. А теперь переключитесь на вкладку Input parameters (Входные параметры). Это очень важный момент.
Важно! Входные параметры метода на вкладке Source, должны совпадать по названию и типу с параметрами, добавленными на вкладке Input parameters.
С1 сам добавил параметры и там, и там. Для нашего примера именно такие параметры не нужны. Нам нужен параметр логического типа (Boolean). Именно его мы сейчас и создадим.
- На вкладке Source, заменяем int myIntValue, string myStringValue на bool LongDate.
- На вкладке Input parameters, удаляем эти же два параметра и добавляем свой логический LongDate:
- Выбираем по очереди параметры и нажимаем Delete.
- Нажимаем Add New.
- В редакторе параметра (справа) заполняем указанные ниже поля:
- Parameter name (имя параметра): Вводим LongDate
- Label (надпись): Вводим Long Date (здесь можно поставить пробел)
- Help (справка): Необязательное, но полезное - Вводим "При выборе, выводит дату в полном формате, иначе - в сокращенном"
- Parameter type (тип параметра): Выбираем Boolean.
Можно сохранить промежуточный результат нашей работы (Save).
Значение параметра по умолчанию
Теперь настроим значение входного параметра по умолчанию:
- В редакторе параметра щелкаем поле Default value.
- В открывшемся окне (Parameter Default Value), нажимаем Add New.
- В окне выбора функции, раскрываем по очереди All functions | Composite | Constants, выбираем Boolean и нажимаем OK.
- Опять в окне Parameter Default Value, в добавленной функции выбираем параметр Value.
- В его Parameter value, выбираем True и нажимаем OK.
Итак, нужный нам параметр мы добавили, значение по умолчанию задали. Осталось немножко подправить код нашего метода.
Возвращаемое значение
Как и в примере без параметра:
- На вкладке Source, заменяем тип возвращаемого значения с bool на string.
- Заменяем строку return true; на return LongDate?DateTime.Now.ToLongDateString():DateTime.Now.ToShortDateString();.
- Сохраняем функцию (Save).
using System;
using System.Collections.Generic;
using System.Linq;
using System.Xml.Linq;
using Composite.Data;
using Composite.Data.Types;
namespace Demo
{
public static class InlineMethodFunction
{
public static string CurrentDate2(bool LongDate)
{
return LongDate?DateTime.Now.ToLongDateString():DateTime.Now.ToShortDateString();
}
}
}
Используем только что созданную встроенную C# функцию точно также как и внешнюю C# функцию. При добавлении функции будет использоваться значение по умолчанию - полный формат ("Wednesday, January 12, 2011"). Однако можно будет также выбрать параметр Long Date в окне свойств функции (Function Properties) и убрать птичку", чтобы дата выводилась в сокращенном формате ("1/12/2011").
Комментариев нет:
Отправить комментарий