Разработка объектной модели строк секций
Единственная карточка библиотеки содержит секции: MainInfo
, Journal
, System
, Numbers
, Processes
, причем три последних были скопированы из карточки типа "Документ". Базовый класс карточек библиотеки Базовые объекты уже содержит описание данных секций, поэтому достаточно создать объектную модель для оставшихся двух: MainInfo
и Journal
.
MainInfo
:-
Создаем класс строки секции, используя в качестве базового класс
BaseCardSectionRow
— базовый класс строчки секции карточки библиотеки Базовые объекты:public class NetstatSolutionCardMainInfo : BaseCardSectionRow
-
Добавляем в класс статическое поле для каждого поля секции карточки:
public static readonly ObjectProperty NameProperty; (1) public static readonly ObjectProperty AddressProperty; (2) (3)
1 Название узла. 2 IP-адрес узла. 3 И так далее. -
Добавляем в класс свойства, по которым будут доступны значения соответствующих полей:
public string Name { get { return (string)base.GetValue(NetstatSolutionCardMainInfo.NameProperty); } set { base.SetValue(NetstatSolutionCardMainInfo.NameProperty, value); } } public string Address { get { return (string)base.GetValue(NetstatSolutionCardMainInfo.AddressProperty); } set { base.SetValue(NetstatSolutionCardMainInfo.AddressProperty, value); } } (1)
1 И так далее. -
В статическом конструкторе класса регистрируем связи между полями карточки и объектной моделью:
static NetstatSolutionCardMainInfo() { NetstatSolutionCardMainInfo.NameProperty = ObjectProperty.Register("Name", typeof(string), typeof(NetstatSolutionCardMainInfo)); (1) NetstatSolutionCardMainInfo.AddressProperty = ObjectProperty.Register("Address", typeof(string), typeof(NetstatSolutionCardMainInfo)); (2)
1 В метод Register
передаем название поля (как в схеме метаданных), его тип (как определён выше) и тип самой секции (текущий класс)2 И так далее.
Аналогичным образом разрабатывается объектная модель строчек секции Journal
.