Run delegate method with BeginInvoke
.net, c#, delegates, winforms
Solution
You should be able to use:
form.BeginInvoke((Action<int>)DoWork, param);
As a side note, `MethodInvoker` has the advantage of special handling - it can invoke that one with typed-invoke, rather than reflection-invoke - and perhaps more importantly offers checking of the args ahead of time; personally I would just use:
form.BeginInvoke((MethodInvoker)delegate {DoWork(param);});
Problem
In my class I have a static method ``` public static void DoWork(int param) ... ``` I want to run that method like: ``` Form.BeginInvoke(DoWork, param); ``` Is this operation possible? I tried with the MethodInvoker class ... but I don't want to define the method body inline. Is there any generic delegate? Or do you know any other way of calling this without defining a delegate object (`private delegate void DoWorkDelegate(int param)`)?