0
我有一些對象newObject
具有未知屬性,我希望能夠爲其屬性指定值而不必知道屬性是什麼類型。使用RTTI指定屬性而不知道屬性是什麼類型
我到目前爲止做的最好的是
vCtx := TRttiContext.Create;
vType := vCtx.GetType(newObject.ClassType);
for vProp in vType.GetProperties do
begin
vPropValue := 'Test Value';
val := TValue.From<String>(vPropValue);
vProp.SetValue(newObject , val);
end;
當然,這是假設性的類型的string
如何使這個更普遍?
TValue.From ???>(vPropValue) – sav
檢查屬性的typekind並使用正確的TValue? – whosrdaddy
如果您不知道類型,您想如何分配值?這沒有任何意義。 –