using System;
using Cpp2IlInjected;
namespace System.ComponentModel
{
/// Provides a way to synchronously or asynchronously execute a delegate.
// Token: 0x02000141 RID: 321
[Token(Token = "0x2000141")]
public interface ISynchronizeInvoke
{
/// Gets a value indicating whether the caller must call when calling an object that implements this interface.
///
/// if the caller must call ; otherwise, .
// Token: 0x17000177 RID: 375
// (get) Token: 0x060007D2 RID: 2002
[Token(Token = "0x17000177")]
bool InvokeRequired
{
[Token(Token = "0x60007D2")]
[Address(Slot = "0")]
get;
}
/// Asynchronously executes the delegate on the thread that created this object.
/// A to a method that takes parameters of the same number and type that are contained in .
/// An array of type to pass as arguments to the given method. This can be if no arguments are needed.
/// An interface that represents the asynchronous operation started by calling this method.
// Token: 0x060007D3 RID: 2003
[Token(Token = "0x60007D3")]
[Address(Slot = "1")]
IAsyncResult BeginInvoke(Delegate method, object[] args);
/// Waits until the process started by calling completes, and then returns the value generated by the process.
/// An interface that represents the asynchronous operation started by calling .
/// An that represents the return value generated by the asynchronous operation.
// Token: 0x060007D4 RID: 2004
[Token(Token = "0x60007D4")]
[Address(Slot = "2")]
object EndInvoke(IAsyncResult result);
/// Synchronously executes the delegate on the thread that created this object and marshals the call to the creating thread.
/// A that contains a method to call, in the context of the thread for the control.
/// An array of type that represents the arguments to pass to the given method. This can be if no arguments are needed.
/// An that represents the return value from the delegate being invoked, or if the delegate has no return value.
// Token: 0x060007D5 RID: 2005
[Token(Token = "0x60007D5")]
[Address(Slot = "3")]
object Invoke(Delegate method, object[] args);
}
}