Bonjour,
après un peu de recherche j'en viens à poser la question sur le forum
Je voudrais savoir si il est possible de transtyper un object dont on connait pas le type, je donne mon code que j'utilise et je m'explique ensuite
Je voudrais modifier la valeur sMsg de la propriété Text de mon objet obj.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 public static bool MonTruc(object obj, string sMsg) { bool bResult = true; try { if (obj != null) { // Juste pour mémo // Type t = obj.GetType(); // System.Reflection.PropertyInfo[] pi = t.GetProperties(); // Type tGen= t.GetGenericTypeDefinition(); if (obj.GetType() == typeof(Label)) ((Label)obj).Text = sMsg; else if (obj.GetType() == typeof(ToolStripStatusLabel)) ((ToolStripStatusLabel)obj).Text = sMsg; else if (obj.GetType() == typeof(TextBox)) ((TextBox)obj).Text = sMsg; } } catch (Exception ex) { bResult = false; } return bResult; }
1°/ Comment vérifier que mon objet obj possède bien une propriété Text (sans doute par PropertyInfo, mais pas trouvé comment) ?
2°/ Au lieu de vérifier par des if le type d'objet, peut-on imaginer un truc générique du genre ?
Merci à vous de m'éclairer sur ces deux points...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 // Au lieu de if (obj.GetType() == typeof(TextBox)) ((TextBox)obj).Text = sMsg; // un truc du genre // ((Type de mon object)obj).Text = sMsg;![]()
Partager