我想知道是否有可能直接引用类定义以与RTTI结合使用(将属性映射到TRttiProperty等)。

例如。

我想将TMyClass.MyProperty用作TRttiProperty,而不必通过名称/字符串来解决它,这将使我的代码和编译器完整性保持不变,因为字符串变量可能会拼写错误,等等。

谢谢

最佳答案

假设您想要做这样的事情

 P:=TRttiProperty(TMyClass.MyProperty);


或写一个像这样的函数

function GetPropertyInfo(P: reference to property):TRttiProperty;


这是不可能的,要做到这一点,您将需要哪个delphi支持属性引用。因此,当前访问(引用)类属性的唯一方法是通过字符串使用其名称。

10-05 22:24