IDL в ATL / COM: Могу ли я опубликовать const сложного типа? - PullRequest
1 голос
/ 22 января 2010

Я знаю, как опубликовать const простого типа в IDL, например:

const long blah = 37

Но я хочу публиковать константы сложных типов с методами или, по крайней мере, читаемые структурные поля-члены. Например, возможно, тип с именем CarType, который имеет поля доступа, такие как «get_Make», «get_Model», «get_Year», «get_BasePrice» и т. Д.

Тогда я бы хотел опубликовать экземпляры const, такие как FORD_PINTO_1973.

(Пожалуйста, не читайте слишком много в примере, чтобы сказать мне, что этот конкретный пример лучше подходит для обычных классов без экземпляров const или чего-то в этом роде).

Я понятия не имею, как бы я определил в IDL тот факт, что FORD_PINTO_1973 имеет поле Год 1973.

Заранее спасибо за любую помощь.

1 Ответ

0 голосов
/ 22 января 2010

IDL для определения интерфейсов - контрактов того, что может быть сделано на объекте. Реализация реальных объектов вышла из IDL.

Чтобы предоставить свойство только для чтения, укажите метод получения (используйте атрибут propget) и не предоставляйте его (propput).

...