Реализация интерфейса System.IDisposable для пользовательского класса в VS 2010 Ultimate UML Editor. - PullRequest
0 голосов
/ 13 февраля 2011

Я разработал класс (в UML), который должен реализовывать интерфейс System.IDisposable. Как мне сделать так, чтобы при генерации кода он распознавался правильно и без необходимости рисовать мой собственный пакет «System» с некоторым интерфейсом «IDisposable» в нем?

Спасибо за вашу помощь! Ура, Дэвид

1 Ответ

0 голосов
/ 21 февраля 2011

Я обнаружил, что сделать это следующим образом:

Чистый (слегка излишний) вариант:

  • Открытая архитектура -> Windows -> Проводник архитектуры
  • Просмотрите список, чтобы найти нужный вам класс / тип. В этом примере сохраненные запросы DGQL -> все ссылки на сборки → mscorlib.dll → IDisposable
  • Нарисуйте IDissprosable на белом фоне (будет создан пакет System, IDisposable будет сгенерирован внутри, а все остальное, что нужно из каркаса, будет добавлено в дерево модели (но не нарисовано))
  • Использование интеллектуального соединителя для подключения элемента IDisposable к вашей сущности

Умный способ (если вы знаете, в каком пространстве имен находится нужный элемент и как он «выглядит»):

  • Открытая архитектура -> Windows -> Проводник архитектуры
  • Щелкните правой кнопкой мыши на «Моделирование»
  • Выберите «Добавить -> Пакет».
  • Назовите это "Система"
  • Добавьте интерфейс внизу и назовите его «IDisposable»
  • Добавить операцию «Dispose ()»
  • Теперь у вас есть манекен.

Скажем, если вы хотите добавить атрибут к классу, который должен иметь IDisposable, вы можете выбрать свойство атрибута "Тип" (окно свойств) для Modeling :: System :: IDisposable.

В терминах «Генерация кода» я обнаружил, что было бы разумно поместить все мои моделируемые классы в пакет, чтобы он отделился от пакетов, таких как System. Затем вы можете просто (вместо щелчка правой кнопкой мыши на белом фоне и выбрать «Сгенерировать код» для генерации кода для всех артефактов) правой кнопкой мыши на вашем пакете и выбрать «Сгенерировать код», и он сгенерирует код только для вашего пакета, а не Системные штучки (манекены). Он вступает в силу в любом случае, если в вашей модели правильно заданы пространства имен, как описано в этом посте .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...