Особенности и правила генерации интерфейсов, свойства интерфейсов

Flexberry Designer позволяет пользователю описывать интерфейсы, для последующей генерации в исходный код на CLR-совместимом языке, в частности, C#.

Для описания интерфейса, необходимо создать на диаграмме UML-класс со стереотипом interface.

Пример

  public interface Интерфейс
  {
    int Свойство
    {
      get;
      set;
    }
    void Метод();
  }

Свойства интерфейса

Атрибуты UML-класса генерируются определением в интерфейсе публичных свойств. Методы UML-класса генерируются определением в интерфейсе публичных методов.

Основные

Пример

Свойство Описание Генерация в .Net-язык
Name Имя UML-класса Имя интерфейса
Description Некоторое описание класса DocComment перед определением интерфейса
Packet, NamespacePostfix Позволяют настроить сборку и пространство имен см. Расположение сборок после генерации кода
PBMembers Позволяет указать, необходима ли скобка программиста внутри класса для ручного внесения членов класса Не используется
PublishToEBSD   Если галочка указана - перед классом генерируется указание атрибута PublishToEBSDAttribute, который указывает доступность данного интерфейса для использования в редакторе диаграмм сценариев.

Свойства атрибутов

Пример

Свойство | Описание | Генерация в .Net-язык :—————-|:——————————|:———————————– Name, Type| Виртуальное свойство с тем же именем Тип свойства - тип атрибута, преобразованный от исходного согласно карте отображения типов | Description | DocComment перед определением свойства

Свойства методов аргументов события

Свойства и генерация методов для интерфейса происходит, как описано в статье Методы классов и параметры методов, за тем исключением, что не генерируется тело метода и скобки программиста.

Правила генерации классов, которые наследуются от интерфейсов

  • Если атрибут есть в интерфейсе, но явно не прописан в классе, то он генерируется как вычислимый
  • Если атрибут есть в интерфейсе, но также задаётся в классе, то он будет нормальным хранимым атрибутом.