Re: [Vala] Reflection : getting values in Gee.Collection



Le 2016-04-09 20:46, Daniel Espinosa a écrit :
May you can use HashMap<string,Value?>()

Value? Makes boxed any value supported by GLib.Value, almost any
value, from basic like int to GLib.Object, any any struct if it is
properly boxed.

El abr. 9, 2016 12:11 PM, "Baptiste Gelez"
<gelezbaptiste openmailbox org> escribió:

Hello everyone !

I would like to retrieve any property of an object. I presently use
this
code :

HashMap<string, string> result = new HashMap<string, string> ();

foreach (ParamSpec spec in obj.get_class ().list_properties ()) {
GLib.Value val = GLib.Value (typeof (string));
obj.get_property (spec.get_nick (), ref val);
result [spec.get_nick ()] = (string) val;
}

return result;

There is no problem when I'm getting "simple" values like int,
string,
double, etc ... But I would like to be able to get all the elements
of
Gee.Collection. Have you got any idea of how to do that ?

Thanks ! (And excuse me for possible English mistakes)

_______________________________________________
vala-list mailing list
vala-list gnome org
https://mail.gnome.org/mailman/listinfo/vala-list [1]


Links:
------
[1] https://mail.gnome.org/mailman/listinfo/vala-list

I'm not sure that you well understand my question. I probably poorly explained.

I'm building a library that'll be able to transform any object into an HashMap<string, string> associating the name of the property with its value as a string. In the code I presently have, I can do this with basic types like int, string, etc. But I would like to get all the elements of a Gee.Collection. I can do this by using it's iterator property, but even if I know how to enumerate them and how to get their type, I don't know how to dynamically create a new instance of this type and convert en element of the collection (which I have as an Object) to this type. I hope it's clearer now.

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]