Provides a way to synchronously or asynchronously execute a delegate.

See Also: ISynchronizeInvoke


public interface ISynchronizeInvoke


The ISynchronizeInvoke interface provides synchronous and asynchronous communication between objects about the occurrence of an event. Objects that implement this interface can receive notification that an event has occurred, and they can respond to queries about the event. In this way, clients can ensure that one request has been processed before they submit a subsequent request that depends on completion of the first.

The ISynchronizeInvoke class provides two ways to invoke a process:

[The 'ordered' type of list has not been implemented in the ECMA stylesheet.]

The HostProtectionAttribute attribute applied to this class has the following HostProtectionAttribute.Resources property value: HostProtectionResource.Synchronization | HostProtectionResource.ExternalThreading. The HostProtectionAttribute does not affect desktop applications (which are typically started by double-clicking an icon, typing a command, or entering a URL in a browser). For more information, see the HostProtectionAttribute class or SQL Server Programming and Host Protection Attributes.


Namespace: System.ComponentModel
Assembly: System (in System.dll)
Assembly Versions: 1.0.3300.0, 1.0.5000.0,,

The members of System.ComponentModel.ISynchronizeInvoke are listed below.

Public Properties


Gets a value indicating whether the caller must call ISynchronizeInvoke.Invoke(Delegate,Object[]) when calling an object that implements this interface.

Public Methods

BeginInvoke(Delegate, Object[]) : IAsyncResult

Asynchronously executes the delegate on the thread that created this object.

EndInvoke(IAsyncResult) : Object

Waits until the process started by calling ISynchronizeInvoke.BeginInvoke(Delegate,Object[]) completes, and then returns the value generated by the process.

Invoke(Delegate, Object[]) : Object

Synchronously executes the delegate on the thread that created this object and marshals the call to the creating thread.