StartOpenCloseTransaction vs new OpenCloseTransaction

Автор Тема: StartOpenCloseTransaction vs new OpenCloseTransaction  (Прочитано 6930 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Дмитрий ЗагорулькинАвтор темы

  • ADN
  • *
  • Сообщений: 2531
  • Карма: 738
Обнаружил, что иногда разработчики используют конструктор new OpenCloseTransaction() вместо привычного Database.TransactionManager.StartOpenCloseTransaction. Например, тут: https://spiderinnet1.typepad.com/blog/2012/08/autocad-net-real-performances-of-objectidopengetobject-transaction-and-openclosetransaction.html
Я понимаю, что раз OpenCloseTransaction является простой обёрткой над Open-Close, то, по идее, для старта ей не требуется менеджер транзакций. Возможно, что запуск с помощью менеджера был добавлен просто для совместимости с обычной транзакцией. Или же есть какие-то различия в этих запусках?

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13898
  • Карма: 1790
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: StartOpenCloseTransaction vs new OpenCloseTransaction
« Ответ #1 : 26-02-2020, 22:29:17 »
Возможно, что запуск с помощью менеджера был добавлен просто для совместимости с обычной транзакцией.
Скорее не для совместимости, а для единообразия. :) Никакого другого смысла тут нет.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Отмечено как Решение Дмитрий Загорулькин 27-02-2020, 11:04:17

Оффлайн Дмитрий ЗагорулькинАвтор темы

  • ADN
  • *
  • Сообщений: 2531
  • Карма: 738
Re: StartOpenCloseTransaction vs new OpenCloseTransaction
« Ответ #2 : 26-02-2020, 22:36:07 »
Хе-хе:
Код - C# [Выбрать]
  1. // Autodesk.AutoCAD.DatabaseServices.TransactionManager
  2. public virtual OpenCloseTransaction StartOpenCloseTransaction()
  3. {
  4.         return new OpenCloseTransaction();
  5. }