Objet variable créé à partir d'un chaine de caracteres ??????
oscar974
Messages postés6Date d'inscriptionsamedi 19 décembre 2009StatutMembreDernière intervention13 janvier 2011
-
27 mars 2010 à 11:37
oscar974
Messages postés6Date d'inscriptionsamedi 19 décembre 2009StatutMembreDernière intervention13 janvier 2011
-
28 mars 2010 à 14:27
Bonjour.
Je me forme avec Visual Studio en C#.
J'ai une variable chaine de caractère : nomCouleur et je souhaite créer à l'exécution des objets d'une classe définie qui s'appelle comme nomCouleur.
Peut-être ceci peut vous aider à mieux comprendre :
nomCouleur = new System.Windows.Forms.label () ;
nomCouleur = "jaune"
ou
nomCouleur = "violet"
ou
nomCouleur = "rougeFonce"
Cela ne marche pas car nomCouleur est une chaine de caractère et pas un objet.
Pourtant l'objet doit s'appeler du nom de la couleur.
C'est cet aspect dynamique qui m'intéresse.
Là je suis à cours d'inspi alors si quelqu'un peut me dn coup donner un coup de main, ce serait bien cool.
Ciao.
A voir également:
Objet variable créé à partir d'un chaine de caracteres ??????
yohan49
Messages postés380Date d'inscriptionsamedi 22 janvier 2005StatutMembreDernière intervention13 août 20118 27 mars 2010 à 13:32
salut
essais un truc comme ca :
using System.Reflection;
class test
{
public Label jaune = new abel() ;
public Label violet = new Label() ;
public Label rouge = new Label() ;
}
// creation de la class
test mytest = new test();
// recuperation du type;
Type t = mytest.GetType();
// invoquation du membre "jaune"
Object o = t.InvokeMember("jaune", BindingFlags.Public | BindingFlags.GetProperty, null, mytest, null);
((Label)o).Text = "je suis jaune";
o = t.InvokeMember("violet", BindingFlags.Public | BindingFlags.GetProperty, null, mytest, null);
((Label)o).Text = "je suis violet";
o = t.InvokeMember("rouge", BindingFlags.Public | BindingFlags.GetProperty, null, mytest, null);
((Label)o).Text = "je suis rouge";
la j'utilise la refexion pour retrouver les differents enfant de la class test
oscar974
Messages postés6Date d'inscriptionsamedi 19 décembre 2009StatutMembreDernière intervention13 janvier 2011 27 mars 2010 à 18:20
Merci pour ta réponse !
ça fait plusieurs fois que j'en reviens à la réflexion dans mes recherches et là toi aussi...je crois que j'ai plus le choix, il va falloir que :
1 - j'essaye de comprendre parce que je ne suis encore qu'un débutant et que je trouve ça plutôt compliqué...
2 - je teste cette solution.