Является ли наилучшей практикой использование свойств COM или установщиков и получателей COM в C ++? - PullRequest
1 голос
/ 11 февраля 2009

Я относительно новичок в разработке в COM, и мне было интересно, каков был стандарт сообщества для доступа к свойствам объектов COM. Я видел оба следующих соглашения в коде:

comObjectPtr->PutValue(value);

и

comObjectPtr->Value = value;

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

Ответы [ 2 ]

3 голосов
/ 11 февраля 2009

Если я правильно помню, использование присваивания свойства вызовет исключение в сравнении с HRESULT, возвращаемым в установщике, если есть проблема.

То же самое относится и к вызовам методов-получателей и свойствам.

«Преимущество» использования свойства заключается в том, что вы можете напрямую использовать значения prop-get вместо того, чтобы объявлять переменную и получать ее перед использованием.

1 голос
/ 11 февраля 2009

Вы говорите о классах умных оболочек, созданных с помощью #import, верно?

PutValue () более четко описывает, что вы делаете; «Значение =» проще в использовании, но может иметь «скрытые» побочные эффекты, если функция put делает что-то иное, чем прямое назначение Насколько я понимаю, эти два эквивалента, просто разные синтаксисы.

...