Bonsoir à tous !
Voici un nouveau probléme, j'entrevoie la solution mais je ne trouve pas l'implémentation :/
le principe est d'utiliser la reflection pour instancier une classe "inconnue" mais qui implémente une interface.
typiquement une interface IPoco et des classes contacts, villes etc... qui sont les liaisons (tables) avec une BDD SQL;
Voici le principe http://www.codeproject.com/Articles/...-in-C-Tutorial
Comme le montre le code il tape en "dur" les propriétés et les valeurs.. Donc inutile pour moi
Voici mon code :
je comprends qu'a la place de new object[] je devrais placer proprietes (PropertyInfo[]) et dans les {} les valeurs de chaque Propriétés (que je sais remplir via les infos de la table SQL).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 // Récupérer le type de l'objet en réflection Type type = ClassePoco.GetType(); // récupére tous les Get publics de la classe en filtrant par instance, public et property PropertyInfo[] proprietes = type.GetProperties( BindingFlags.Instance | BindingFlags.GetProperty | BindingFlags.Public); // récupére le constructeur de la classe via son nom (moins le namespace) ConstructorInfo construct = type.GetConstructor(Type.EmptyTypes);//.GetMethod(type.ToString().Remove(0, 9)); // reste à trouver comment remplir les propriétés ! object obj = construct.Invoke(new object[] { });
Je sais pas si je suis clair, mais autant en SQL c'est facile à faire, autant avec des POCO c'est chaud the night :/ Merci pour votre lecture et vos retour. KENAVO et bonne PROG ADN
Partager