Преобразование типов параметров¶
Если тип параметра в шаблоне не совпадает с типом макроса или с типом переданного аргумента, то производится попытка преобразования значения параметра к типу параметра в шаблоне отчета по правилам, перечисленным в таблице.
Правила преобразования типов параметров
| Тип макроса | Тип параметра | Правило преобразования |
|---|---|---|
| string | string[] | Массив с единственным значением |
| string[] | string | Все строки объединяются в одну, используя разделитель запятую (','), без дополнительных преобразований. Пустой массив/null → пустую строку |
| object[] | string[] | Каждый элемент массива преобразуется в строку по правилам преобразования в xml, null → null (DbNull.Value) |
| object | string | Объект преобразуется в строку по правилам преобразования в xml. null → null (DbNull.Value). |
| object[] | string | Каждый элемент массива преобразуется в строку по правилам преобразования в xml. Все строки объединяются в одну, используя разделитель запятую (',') без дополнительных преобразований. Пустой массив/null → пустую строку |
| object | любой_тип | Попытка преобразования через Convert.ToType (c InvariantCulture) |
| object[] | любой_тип[] | Каждый элемент массива преобразуется через Convert.ToType (c InvariantCulture) |
Если нет подходящего правила или в процессе преобразования возникло исключение, то формирование отчет завершается с ошибкой.