| File: System\ComponentModel\ISynchronizeInvoke.cs | Web Access |
| Project: src\runtime\src\libraries\System.ComponentModel.Primitives\src\System.ComponentModel.Primitives.csproj (System.ComponentModel.Primitives) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace System.ComponentModel { /// <summary> /// Provides a way to synchronously or asynchronously execute a delegate. /// </summary> public interface ISynchronizeInvoke { /// <summary> /// Gets a value indicating whether the caller must call <see cref='System.ComponentModel.ISynchronizeInvoke.Invoke'/> /// when calling an object that implements this interface. /// </summary> bool InvokeRequired { get; } /// <summary> /// Executes the given delegate on the main thread that this object executes on. /// </summary> IAsyncResult BeginInvoke(Delegate method, object?[]? args); /// <summary> /// Waits until the process you started by calling <see cref='System.ComponentModel.ISynchronizeInvoke.BeginInvoke'/> /// completes, and then returns the value generated by the process. /// </summary> object? EndInvoke(IAsyncResult result); /// <summary> /// Executes the given delegate on the main thread that this object executes on. /// </summary> object? Invoke(Delegate method, object?[]? args); } }