如何将tkEnumeration作为RTTI参数传递给Method.Invoke。
我试过了
TMyEnums = (tsEnum1, tsEnum2);
ParameterList : Array of TValue;
lTypeInfo : PTypeInfo;
lTypeInfo := TypeInfo(TMyEnums);
ParameterList[0] := TValue.FromOrdinal(lTypeInfo, Integer(tsEnum1));
Method.Invoke(Object, ParameterList);
哪个失败了。 Method.Invoke可以使用tkEnumeration参数吗? 即使它确实有效 - 在运行时的应用程序中我不知道参数的类型,所以我无法获得lTypeInfo;
有没有办法从TRttiParameter获取lTypeInfo?
我可以按如下方式获取TRttiProperty:
lTypeInfo:= RTTIProperties [i] .GetValue(SourceObject).TypeInfo
是否存在TRttiParameter的等价物?
答案 0 :(得分:4)
您需要使用反射来查找参数的类型:
我这里没有编译器所以我不会尝试为此编写代码。希望上面的大纲对你来说足够了。