Насколько я вижу, вы можете только аннотировать типы с атрибутами. Поскольку значение перечисления является только простым порядковым значением, ваш подход, вероятно, не работает.
Если бы значения перечисления были самими типами, вы бы использовали TRttiContext
и TRttiType
, как описано в официальных документах:
http://docwiki.embarcadero.com/RADStudio/XE/en/Extracting_Attributes_at_Run_Time
Классический способ кажется более подходящим:
TShoppingCartTypeDescriptions = array[TShoppingCartType] of string;
...
Descriptions: TShoppingCartTypeDescriptions;
Descriptions[sctAll] := 'All';
Descriptions[sctWebShippingCart] := 'Web Shopping Cart';
// and so on
Вы можете перечислить все значения, используя:
var
I: TShoppingCartType;
begin
for I := Low(TShoppingCartType) to High(TShoppingCartType) do
// Do something with I
end;