Chr*_*ler 9 delphi interface rtti
有没有办法用Rtti探索界面的属性?
以下代码不起作用:
procedure ExploreProps;
var
Ctx: TRttiContext;
RttiType: TRttiType;
RttiProp: TRttiProp;
begin
RttiType := Ctx.GetType(TypeInfo(IMyInterface));
for RttiProp in RttiType.GetProperties do
Writeln(RttiProp.ToString);
end;
Run Code Online (Sandbox Code Playgroud)
有没有人解决方法如何正确地做到这一点?
接口是函数的集合.它们并不像对象那样具有属性; 这只是编译器为您添加的一些语法糖,以便更容易为它们编写代码.区别在于对象,属性允许对私有和受保护成员的受控访问,而在接口上,所有成员都是公共的,因此不需要属性.