# Пользовательские DLL для смарт-действий

Библиотека реализована на фреймворке .Net, язык С#. Тип проекта: Class Library.

В проект необходимо добавить референсы на TCClassLib, TCInterfaces и Valhalla.SmartService.

Создаваемый класс должен реализовывать интерфейс TCClassLib.Smart.ICustomActions.

Также создаваемый класс должен реализовывать:

1\. Поле со словарём действий

private readonly static Dictionary<Guid, ActionInfo> Actions

2\. Метод, возвращающий действия

public Dictionary<Guid, ActionInfo> GetActions()

3\. Сами методы действий.

Словарь действий содержит объект класса ActionInfo, в котором хранятся свойства действия:

1\. string displayNameResource — название действия.

2\. ActionParameter\[\] actionParameters — параметры действия.

3\. Dictionary<Type, ActionInContextDelegate> contextDependendedDelegates — делегаты для разных типов контекста.

4\. ActionWithoutContextDelegate actionWithoutContext — делегаты без контекста (по умолчанию null).

Также в словаре содержится GUID, выбираемый произвольно.

Для действий с возвращаемым результатом следует использовать объект класса ActionInfoWithResult, в который дополнительно передается тип возвращаемого значения.

Готовую библиотеку необходимо поместить в папку \\TaskCenter\\bin, тогда она будет автоматически обнаружена при старте "Первой Формы".
