Создание событий C # с помощью проекта моделирования Visual Studio - PullRequest
9 голосов
/ 21 января 2012

Я начал играть с UML-моделированием в VS. Я попытался создать диаграмму с несколькими классами, соединить их и сгенерировать некоторый код из модели - после установки Feature Pack кажется, что все работает нормально.

Однако мне не хватает возможности объявлять события, которые играют довольно важную роль в .Net (и часто являются ключевыми для дизайна).

Как объявить события в диаграмме классов UML в Visual Studio?

EDIT:

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

Этот вопрос относится к Проекту моделирования , который является новой функцией в Visual Studio 2010 Ultimate.

Ответы [ 4 ]

2 голосов
/ 02 февраля 2012

UML не зависит от языка реализации. правильный способ определить специфическую для языка идиому в UML - это использование стереотипа .Стереотип - это специализация метакласса UML.Определите профиль , который расширяет класс в EventHandler, и событие стереотип , который расширяет сообщение.Затем примените эти стереотипы к классам в ваших моделях соответствующим образом.Затем вы можете поместить детали реализации языка идиома в стереотип.

1 голос
/ 29 января 2012

надеюсь, что следующая ссылка поможет вам.

http://developingfor.net/2007/11/29/visual-studio-2008-class-diagram/

0 голосов
/ 30 января 2015

Ничто из вышеперечисленного не было полезным для меня.Вот как включить концепции языка C #:

  • Убедитесь, что у вас уже есть проект моделирования или создайте его
  • В Visual studio выберите Архитектура -> Windows -> Проводник модели UML
  • Выберите проект моделирования и откройте панель свойств
  • В разделе «Профили» установите флажок «Профиль C #».

Чтобы добавить событие в диаграмму классов:

  • Создание нового атрибута в классе.
  • На панели свойств отметьте «Событие C #» в стереотипах

К сожалению, на атрибуте нет визуальной индикациипометить его как событие.

0 голосов
/ 01 февраля 2012

Вы должны попробовать включить Observer \ Event Pattern. Это очень хорошо обсуждается здесь. http://www.cumps.be/nl/blog/read/design-patterns-observer-event-pattern

...