我想知道是否有可能直接引用类定义以便将它与RTTI结合使用(将属性映射到TRttiProperty等)。
E.g。
我想使用TMyClass.MyProperty作为TRttiProperty,而不必通过名称/字符串解析它,这将保持我的代码和编译器完整性,因为字符串变量可能拼写错误等。
由于
答案 0 :(得分:5)
假设你想要做这样的事情
P:=TRttiProperty(TMyClass.MyProperty);
或写一个像这样的函数
function GetPropertyInfo(P: reference to property):TRttiProperty;
这是不可能的,要做到这一点,你将需要哪个delphi支持属性引用。因此,访问(引用)类属性的唯一方法是通过字符串使用他的名字。