Bonjour à tous, je bloque sur l'appel par reflection d'une méthode.

Voici le code du formulaire frm_DelOd, j'ai plusieurs formulaire qui sont appelés depuis un formulaire principale.
Ils contiennent tous un " void frm_Calling(Control cntrl, MethodInvoker mthInvoke) "
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
 
public partial class frm_DelOld : Form
    {
        delegate void myDelegate(Control cntrl, MethodInvoker mthInvoke);
        private void myMethod(Control cntrl, MethodInvoker mthInvoke)
        {
            if (InvokeRequired)
            {
                this.Invoke(new MethodInvoker(delegate { myMethod(cntrl, mthInvoke); }));
                return;
            }
            else
            {
                cntrl.Invoke(mthInvoke);
            }
        }
        public void frm_Calling(Control cntrl, MethodInvoker mthInvoke)
        {
            myDelegate myDlgt = new myDelegate(myMethod);
            myDlgt.Invoke(cntrl, mthInvoke);
        }
    }
Dans mon code principale je veux effectuer sur tous mes formulaires ouverts un appel via frm_Calling, soit

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
 
foreach (Form frm in Application.OpenForms)
{
       try
       {
            Type myType = frm.GetType();
            System.Reflection.MethodInfo getMyMethod = myType.GetMethod("frm_Calling");
 
            // Vérifier que le getMyMethod existe bien avant de poursuivre...
 
 
            if (!frm.IsAccessible)
           {
               // frm.BeginInvoke(getMyMethod(frm, new MethodInvoker(BringToFront));    // Erreur car bien sur c'est pas getMyMethod qu'il faut que j'appelle
           }
        }
        catch (Exception ex)
        {
        }
}
Bon j'ai une erreur sur le frm.BeginInvoke(getMyMethod) car c'est juste un MethodInfo ... comment dois-je faire pour appeler le delegate ?