Note that there are some explanatory texts on larger screens.

plurals
  1. POWhere are CLR-defined methods like [delegate].BeginInvoke documented?
    primarykey
    data
    text
    <p><em><strong>[EDIT, Completely rephrased:] Seems like my question was poorly worded indeed, and poorly received too. So I hope that this complete rephrasing helps...</em></strong> </p> <p>MSDN tells clearly specifies: <a href="http://msdn.microsoft.com/en-us/library/system.windows.forms.control.begininvoke.aspx">Control.BeginInvoke()</a> Executes a delegate on the thread that the control's handle was created on, normally this would be the GUI thread. And <a href="http://msdn.microsoft.com/en-us/library/system.windows.threading.dispatcher.begininvoke.aspx">Dispatcher.BeginInvoke()</a> will run on the thread where the Dispatcher object was created. This would be any thread created by me.</p> <p>But for delegates <em>"the <a href="http://msdn.microsoft.com/en-us/library/2e08f6yc%28v=vs.110%29.aspx">CLR automatically defines</a> BeginInvoke and EndInvoke"</em> and these calls run on a ThreadPool-thread instead. Apart from this slightly surprising different behaviour I wonder how I can find the specs of all functions that automatically get implemented. </p> <p>For example: Intelli-sense shows that my delegate has a DynamicInvoke(). Class <a href="http://msdn.microsoft.com/en-us/library/y22acf51.aspx">System.Delegate{}</a> does have a DynamicInvoke() which might imply that my delegate inherits it. But Delegate{} has no BeginInvoke(). And Delegate{} has several functions that my delegate has not. Also my delegate gets a GetObjectData() method. And this seems to come from ISerializable. </p> <p>So in conclusion, a delegate appears gets its methods from (1) the CLR "automatically", (2) some subset of Delegate{} possibly MulticastDelegate{}, and possibly (3) ISerializble. <strong>Where can I find a comprehensive specification of all methods a delegate gets? Especially interesting is BeginInvoke(), and it's exact signature,</strong> as the two aforementioned methods with that name have different sets of signatures.</p> <p>[Someone suggested in an edit that a "delegate" is a "Delegate". I daresay, it is not.]</p> <p>Thanks</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload