クラスから定数(const)を列挙できますか?
私が試してみました
MyClass = class
const
c1 = 'c1';
c2 = 'c2';
c3 = 'c3';
end;
procedure GetConst();
var
ctx: TRttiContext;
objType: TRttiType;
field: trttifield;
s: string;
begin
ctx := TRttiContext.Create;
objType := ctx.GetType(MyClass.ClassInfo);
for field in objType.GetDeclaredFields do
s:= field.Name;
end;
c1、c2、c2 を取得したいと思います。
これは可能ですか?
編集:私がやりたいことは、いくつかの外部シンボルのいくつかのキーを定義することです(CADプログラムの場合)
symbol1=class
const
datafield1='datafield1';
datafield2='datafield2';
end;
symbol2=class
const
datafield21='datafield21abc';
datafield22='datafield22abc';
end
宣言と初期化を分離したくないので、これにフィールドを使用するのは好きではありません。値を文字列として定義できないため、列挙型を使用できません。