method.invoke question

Stephen Prestwich 21 Reputation points
2021-09-17T17:15:28.6+00:00

I have a master form with a bunch of sub forms. Each sub form has the same method name "RefreshData". I need help finishing the invoke method to execute the refreshdata method on the subform from the master form. My code is below.

button click event on master form. ClsCommon.NewRfrmCurr holds the current sub form object.

var type = ClsCommon.NewRfrmCurr.GetType();

                    MethodInfo[] methods = type.GetMethods();
                    foreach (MethodInfo method in methods)
                    {
                        if (method.Name == "RefreshData")
                        {
                            method.Invoke(?);
                        }
                    }
Developer technologies | C#
0 comments No comments
{count} votes

Accepted answer
  1. P a u l 10,761 Reputation points
    2021-09-17T17:20:43.243+00:00

    It should just be:

    method.Invoke(ClsCommon.NewRfrmCurr, new object[] {  })
    

    Does RefreshData accept arguments? If so you'll need to add them into that object array:

    method.Invoke(ClsCommon.NewRfrmCurr, new object[] { arg1, arg2, arg3 })
    

0 additional answers

Sort by: Most helpful

Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.