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

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;
        }
Je voudrais modifier la valeur sMsg de la propriété Text de mon objet obj.

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 ?

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;
Merci à vous de m'éclairer sur ces deux points...