Creating a specific delegate from Delegate abd using his Invoke method
===

I use the Fire (Delegate d, params object args) of EventsHelper class of [IDesign][1]    

    public static void Fire(Delegate d, params object args)
    {
        if (d != null)
        {
            //Check each invocation target
            foreach (Delegate dDelgate in d.GetInvocationList())
            {
                if (dDelgate.Target != null && dDelgate.Target is System.ComponentModel.ISynchronizeInvoke
                    && ((System.ComponentModel.ISynchronizeInvoke)(dDelgate.Target)).InvokeRequired)
                {
                    //If target is ISynchronizeInvoke and Invoke is required, invoke via ISynchronizeInvoke
                    ((System.ComponentModel.ISynchronizeInvoke)(dDelgate.Target)).Invoke(dDelgate, new object[] { sender, param });
                }
                else
                {
                    //Else invoke dynamically
                    dDelgate.DynamicInvoke(sender, param);
                }
            }
        }
    }

I want to avoid the DynamicInvoke and do the specific delegate invoke.

i've read this [answer][2] on how to use ExpressionTree to build a delegate and its nice but in my case its not help because i dont have a standart Signature so how can i create a specific delegate to invoke him?


  [1]: http://idesign.net
  [2]: http://stackoverflow.com/a/7084059/986184