如何将 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 是否有等价物?