Свойство массива, TList, TStringList или TCollection и т. Д. (Delphi Win32) - PullRequest
5 голосов
/ 14 февраля 2009

Я разрабатываю различные компоненты и регулярно сталкиваюсь с необходимостью иметь свойство, которое имеет отношение "один ко многим", компонент-свойство-член. Компоненты часто являются визуальными компонентами, но не всегда, и иногда их необходимо регистрировать в IDE (т. Е. Использовать инспектор свойств), но не всегда. Я не уверен, какой маршрут выбрать при настройке этих свойств - используя свойство массива, TList, TStringList, TCollection или что-то еще вообще (возможно, новый класс, который наследуется от одного из них).

Каковы "лучшие практики" / руководящие принципы, для которых следует использовать, когда и где?

Ответы [ 2 ]

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

Если они являются свойствами, вы можете перейти из TCollection, а затем IDE и инспектор объектов автоматически предоставят им поддержку через редактор свойств TCollection.

2 голосов
/ 21 марта 2009

TObjectList и TInterfaceList / IInterfaceList - мои любимые. И есть TThreadList для многопоточных списков. Все они доступны в Delphi 6 (или даже раньше).

...