Разработка объектной модели строк секций

Единственная карточка библиотеки содержит секции: MainInfo, Journal, System, Numbers, Processes, причем три последних были скопированы из карточки типа "Документ". Базовый класс карточек библиотеки Базовые объекты уже содержит описание данных секций, поэтому достаточно создать объектную модель для оставшихся двух: MainInfo и Journal.

Первоначально разработаем объектную модель строчки секции MainInfo:
  1. Создаем класс строки секции, используя в качестве базового класс BaseCardSectionRow — базовый класс строчки секции карточки библиотеки Базовые объекты:

    public class NetstatSolutionCardMainInfo : BaseCardSectionRow
  2. Добавляем в класс статическое поле для каждого поля секции карточки:

    public static readonly ObjectProperty NameProperty; (1)
    public static readonly ObjectProperty AddressProperty; (2)
    (3)
    1 Название узла.
    2 IP-адрес узла.
    3 И так далее.
  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 И так далее.
  4. В статическом конструкторе класса регистрируем связи между полями карточки и объектной моделью:

    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.