Id vs ObjectId

Автор Тема: Id vs ObjectId  (Прочитано 5571 раз)

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

Оффлайн avcАвтор темы

  • ADN Club
  • *****
  • Сообщений: 822
  • Карма: 166
    • Мои плагины к Автокаду
Id vs ObjectId
« : 04-02-2020, 22:51:47 »
У класса DBObject есть два свойства:
Код - C# [Выбрать]
  1.     public ObjectId ObjectId { get; }     //     Accesses the object ID.
  2.     public override ObjectId Id { get; }  //     Returns the Id property value.
И еще есть Handle, который дублируется внутри структуры ObjectId.
Каждый раз когда нужен идентификатор ломаюсь писать по короче или по длиннее...
Сейчас не удержался и решил спросить знатоков: может есть какая-то разница?
Какой-то сакральный смысл в существовании двух (даже двух с половиной) одинаковых свойств?

Отмечено как Решение avc 04-02-2020, 23:16:46

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

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Id vs ObjectId
« Ответ #1 : 04-02-2020, 23:07:57 »
Сейчас не удержался и решил спросить знатоков: может есть какая-то разница?
Смотрим комментарий из файла dbmain.h:
Код - C++ [Выбрать]
  1. ACDBCORE2D_PORT AcDbObjectId        id() const override;    // same as objectId()
Теоретически никакой разницы быть не должно. Разница возможна в Custom Object/Entity, т.к. id() может быть переопределён так, что он не будет возвращать значение равное objectId(), но это будет плохим стилем.
В .NET аналогично, так как это лишь обертки.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение