【发布时间】:2014-02-13 09:16:44
【问题描述】:
我想用 RTTI 替换属性的 getter/setter。
我知道您可以使用 TPropInfo.SetProc/GetProc 访问 getter setter,并且我知道这些字段指向不同的数据,具体取决于属性是使用虚拟方法、直接字段访问还是静态方法。
我对用自定义虚拟方法替换指向虚拟方法的属性 setter/getter 很感兴趣。
TRttiInstanceProperty(RttiProperty).PropInfo^.SetProc := ? // SomeOtherInstance.Setter
TRttiInstanceProperty(RttiProperty).PropInfo^.GetProc := ? // SomeOtherInstance.Getter
【问题讨论】:
-
您想要实现的最佳方法可能是首先使用虚拟 getter/setter,然后使用虚拟方法拦截。
标签: delphi rtti delphi-xe5