В системі передбачено можливість динамічної (під час виконання) перевірки відповідності типів. Перевіряеться відповідність типів і властивостей, отриманих з моделі та описаних в файлі визначення *.d.ts. Крім того, при рендерингу xaml-видів перевіряється відповідність прив'язок зазначеним типам.
Таким чином, якщо перевірку типів ввімкнено, то система гарантує, що отримана з бази даних модель відповідає опису, і що у виді використовуються тільки існуючі прив`язки. За відповідність даних і коду шаблонз відповідає компілятор TypeScript.
Цей механізм буде працювати тільки в тому випадку, коли шаблони пишуться мовою TypeScript.
Нехай, наприклад, ми використовуємо перевірку типів при редагуванні властивостей контрагента. Ця частина програми розташована в папці
/catalog/agent
.
Файли в папке:
Файл | Опис |
---|---|
model.json |
файл опису моделі |
model.d.ts |
файл визначення типів |
edit.template.ts |
файл шаблону (TypeScript) |
edit.dialog.xaml |
файл виду |
Збережена процедура a2v10.[Agent.Load]
.
Процедура повертає один запис типу TAgent
з полями
Id
, Name
, Code
.
model.json
перевіряється наявність елементу checkTypes
. Якщо його нема, нічого не виконується.model.d.ts
і типів, отриманих з моделі даних. Повинні
співпадати імена типів і їх властивості. Імена властивостей, які починаються з символу "$" вважаються обчислюваними і не перевіряються в моделі даних.
Вони знадобляться на наступному кроці.
Якщо знайдені неспівпадіння - генерирується виключення.
Зверніть увагу! Динамічна перевірка типів буде працювати тільки в налагоджувальній конфигурації.
Властивість configuration
в розділі appSettings
файлу Web.config повинна бути встановлена в
debug
.