Каждая платформа реализации оперирует нативными типами своих данных. Для обеспечения кроссплатформенности и передачи сложных объектов между разыми системными компонентами выполняется приведение нативных типов к кроссплатформенным DTO Robin-типам - типам объектов передаваемых данных.
Ниже представлен список Robin-типов, возможность их сериализации и соответствие нативным типам для каждой платформы. Приведение нативных типов к Robin-типам выполняется с помощью Robin-конверторов.
В колонке "Чем является нативный тип внутри .NET" есть 3 варианта типов:
1.Нативный тип. Пример (net): System.Collections.Generic.List, string и др.
В этом случае необходимо приводить к тому типу, который указан в столбце. Примеры (net):
- Для коллекций System.Collections.Generic.List:
List<object> Services = (List<object>)parameters["Services"];
- Для словарей System.Collections.Generic.Dictionary<string, object>:
Dictionary<string, object> options= (Dictionary<string, object>)parameters["Options"];
2. DTO. Пример (net):
Robin.Type.RobinFilePath
Nuget
Robin.Type.FilePath.2.0.0
В этом случае необходимо сначала добавить указанный Nuget-пакет в проект. Далее выполнить приведение в следующем формате (пример для net):
- Путь к файлу:
var pathToFile = ((RobinFilePath) parameters["Path2File"])
- Web-элемент:
var webElement = ((RobinWebElement) parameters["CoolElementName"])
3. Если указан прочерк, значит используемый тип – контекст. В этом случае необходимо также сначала добавить указанный Nuget-пакет в проект. Далее выполнить приведение в следующем формате (пример для net):
var xmlContext = (XmlContext)parameters["XML_INSTANCE"];
Тип данных |
Описание |
Используемый тип C# |
Чем является нативный тип внутри .NET |
|
Последовательность действий |
|
|
|
Логический |
System.Boolean |
Нативный тип |
|
Чат-бот |
|
|
|
Коллекция |
System.Collections.Generic.List<object> |
Нативный тип |
|
Таблица |
System.Data.DataTable |
Нативный тип |
|
Дата-время |
System.DateTime |
Нативный тип |
|
Словарь |
System.Collections.Generic.Dictionary<string, object> |
Нативный тип |
|
Почта |
|
- |
|
Документ Excel |
|
- |
|
Исключение |
|
DTO |
|
Путь к файлу |
Robin.Types.RobinFilePath |
DTO |
|
Путь к папке |
Robin.Types.RobinFolderPath |
DTO |
|
Протокол переди данных по сети |
|
|
|
Google документы |
|
|
|
Google Drive - хранилище |
|
|
|
Горячие клавиши |
Robin.Types.RobinHotKeys |
DTO |
|
Изображение |
Robin.Types.RobinImage |
DTO |
|
Внутренний идентификатор последовательности |
|
Нативный тип |
|
Доступный узел |
|
|
|
Файл JSON |
Robin.Types.RobinJSON |
|
|
Координаты точки |
System.Drawing.Point |
Нативный тип |
|
Очередь |
|
|
|
Число |
System.Double |
|
|
Объект |
System.Object |
Нативный тип |
|
Пароль |
Robin.Types.RobinPassword |
DTO |
|
Документ PDF |
|
|
|
Документ Power Point |
|
|
|
Расположение |
System.Drawing.Rectangle |
|
|
Размер |
System.Drawing.Size |
Нативный тип |
|
Для работы с браузером |
|
Нативный тип |
|
|
|
|
|
Электронные таблицы |
|
|
|
Строка |
System.String |
Нативный тип |
|
Tesseract |
|
|
|
|
|
|
|
Веб-элемент |
Robin.Types.RobinWebElement |
DTO |
|
Вин-элемент |
Robin.Types.RobinWinElement |
DTO |
|
Для экземпляра документа Word |
|
|
|
Для экземпляра документа XML |
|
|
|
|
|
Нативный тип |