Свойство массива, TList, TStringList или TCollection и т. Д. (Delphi Win32)
Я разрабатываю различные компоненты и регулярно сталкиваюсь с необходимостью иметь свойство, которое имеет отношение "один ко многим", компонент-свойство-член. Компоненты часто являются визуальными компонентами, но не всегда, и иногда их необходимо регистрировать в IDE (т. Е. Использовать инспектор свойств), но не всегда. Я не уверен, какой путь выбрать при настройке этих свойств - используя свойство массива, TList, TStringList, TCollection или что-то еще вообще (возможно, новый класс, который наследуется от одного из них).
Каковы "лучшие практики" / руководящие принципы для использования, когда и где?
2 ответа
Если они являются свойствами, вы можете перейти из TCollection, а затем IDE и инспектор объектов автоматически предоставят им поддержку через редактор свойств TCollection.
TObjectList и TInterfaceList / IInterfaceList - мои любимые. И есть TThreadList для многопоточных списков. Все они доступны в Delphi 6 (или даже раньше).