Question sur l'introspection
Bonjour, encore moi :oops:
J'ai besoin d'instancier une classe persistante dont je ne connais le type qu'à l'exécution... pas de soucis avec :
Code:
boost::any o = qx::create(...);
Maintenant, je souhaite définir les propriétés de "o", mais toujours en faisant abstraction du type de la classe persistante. Dans le tuto de QxBlog, il y a cet exemple :
Code:
1 2 3 4 5 6
| // Création d'un 'blog' à partir du nom de la classe (design pattern 'factory')
boost::any blog_any = qx::create("blog");
blog_ptr blog_1 = boost::any_cast<blog_ptr>(blog_any);
blog_1->m_text = "blog_text_1";
blog_1->m_dt_creation = QDateTime::currentDateTime();
blog_1->m_author = author_1; |
mais ça implique un "cast"...
Est il possible de faire un "setProperty("...", value)" sur un objet créé par qx::create sans en connaitre le type à la compilation ?