Where are CLR-defined methods like [delegate].BeginInvoke documented? [closed]

The Control.Begin/End/Invoke() and Dispatcher.Begin/End/Invoke() methods have identical names and somewhat similar behavior to a delegate’s Begin/End/Invoke() methods but it is certainly best to scrap the idea that they are the same. The most important difference is that a delegate’s methods are type-safe, something that’s completely missing from the Control and Dispatcher versions. Runtime behavior is … Read more

Is Delegate.EndInvoke() really necessary?

From the MSDN article ‘Calling Synchronous Methods Asynchronously’: No matter which technique you use, always call EndInvoke to complete your asynchronous call. Now, there is theory and then there is practice. You have found, like many other developers before you, that you can often get away with ignoring this documented requirement. It may be an … Read more

What’s the difference between Invoke() and BeginInvoke()

Do you mean Delegate.Invoke/BeginInvoke or Control.Invoke/BeginInvoke? Delegate.Invoke: Executes synchronously, on the same thread. Delegate.BeginInvoke: Executes asynchronously, on a threadpool thread. Control.Invoke: Executes on the UI thread, but calling thread waits for completion before continuing. Control.BeginInvoke: Executes on the UI thread, and calling thread doesn’t wait for completion. Tim’s answer mentions when you might want to … Read more