Dispatcher.Invoke Метод

Определение

Выполняет заданный делегат синхронно, в потоке, с которым связан Dispatcher.Executes the specified delegate synchronously on the thread the Dispatcher is associated with.

Перегрузки

Invoke(DispatcherPriority, TimeSpan, Delegate, Object, Object[])

Выполняет указанный делегат синхронно, с заданными приоритетом и аргументами, в потоке, с которым связан Dispatcher.Executes the specified delegate at the specified priority with the specified arguments synchronously on the thread the Dispatcher is associated with.

Invoke(DispatcherPriority, TimeSpan, Delegate, Object)

Выполняет указанный делегат синхронно, с заданными приоритетом и аргументом, в потоке, с которым связан Dispatcher.Executes the specified delegate at the specified priority with the specified argument synchronously on the thread the Dispatcher is associated with.

Invoke(DispatcherPriority, Delegate, Object, Object[])

Выполняет указанный делегат синхронно, с заданными приоритетом и аргументами, в потоке, с которым связан Dispatcher.Executes the specified delegate at the specified priority with the specified arguments synchronously on the thread the Dispatcher is associated with.

Invoke(Action, DispatcherPriority, CancellationToken, TimeSpan)

Выполняет указанный объект Action синхронно с заданным приоритетом в потоке, с которым связан Dispatcher.Executes the specified Action synchronously at the specified priority on the thread the Dispatcher is associated with.

Invoke(DispatcherPriority, TimeSpan, Delegate)

Выполняет указанный делегат асинхронно, с заданными приоритетом и значением таймаута, в потоке, в котором был создан объект Dispatcher.Executes the specified delegate synchronously at the specified priority and with the specified time-out value on the thread the Dispatcher was created.

Invoke(DispatcherPriority, Delegate, Object)

Выполняет указанный делегат синхронно, с заданными приоритетом и аргументом, в потоке, с которым связан Dispatcher.Executes the specified delegate at the specified priority with the specified argument synchronously on the thread the Dispatcher is associated with.

Invoke(Delegate, TimeSpan, DispatcherPriority, Object[])

Выполняет указанный делегат в течение заданного промежутка времени, синхронно, с заданными приоритетом и аргументами, в потоке, с которым связан Dispatcher.Executes the specified delegate within the designated time span at the specified priority with the specified arguments synchronously on the thread the Dispatcher is associated with.

Invoke(Delegate, TimeSpan, Object[])

Выполняет указанный делегат в течение заданного промежутка времени, синхронно, с заданными приоритетом и аргументами, в потоке, с которым связан Dispatcher.Executes the specified delegate within the designated time span at the specified priority with the specified arguments synchronously on the thread the Dispatcher is associated with.

Invoke(Action, DispatcherPriority, CancellationToken)

Выполняет указанный объект Action синхронно с заданным приоритетом в потоке, с которым связан Dispatcher.Executes the specified Action synchronously at the specified priority on the thread the Dispatcher is associated with.

Invoke(DispatcherPriority, Delegate)

Выполняет указанный делегат синхронно, с заданным приоритетом, в потоке, с которым связан Dispatcher.Executes the specified delegate synchronously at the specified priority on the thread on which the Dispatcher is associated with.

Invoke(Delegate, Object[])

Выполняет указанный делегат синхронно с заданными аргументами в потоке, с которым связан объект Dispatcher.Executes the specified delegate with the specified arguments synchronously on the thread the Dispatcher is associated with.

Invoke(Action, DispatcherPriority)

Выполняет указанный объект Action синхронно с заданным приоритетом в потоке, с которым связан Dispatcher.Executes the specified Action synchronously at the specified priority on the thread the Dispatcher is associated with.

Invoke(Action)

Выполняет заданный объект Action синхронно в потоке, с которым связан Dispatcher.Executes the specified Action synchronously on the thread the Dispatcher is associated with.

Invoke(Delegate, DispatcherPriority, Object[])

Выполняет указанный делегат синхронно, с заданными приоритетом и аргументами, в потоке, с которым связан Dispatcher.Executes the specified delegate at the specified priority with the specified arguments synchronously on the thread the Dispatcher is associated with.

Invoke<TResult>(Func<TResult>)

Выполняет заданный объект Func<TResult> синхронно в потоке, с которым связан Dispatcher.Executes the specified Func<TResult> synchronously on the thread the Dispatcher is associated with.

Invoke<TResult>(Func<TResult>, DispatcherPriority)

Выполняет указанный объект Func<TResult> синхронно с заданным приоритетом в потоке, с которым связан Dispatcher.Executes the specified Func<TResult> synchronously at the specified priority on the thread the Dispatcher is associated with.

Invoke<TResult>(Func<TResult>, DispatcherPriority, CancellationToken)

Выполняет указанный объект Func<TResult> синхронно с заданным приоритетом в потоке, с которым связан Dispatcher.Executes the specified Func<TResult> synchronously at the specified priority on the thread the Dispatcher is associated with.

Invoke<TResult>(Func<TResult>, DispatcherPriority, CancellationToken, TimeSpan)

Выполняет указанный объект Func<TResult> синхронно с заданным приоритетом в потоке, с которым связан Dispatcher.Executes the specified Func<TResult> synchronously at the specified priority on the thread the Dispatcher is associated with.

Примеры

В следующем примере делегат помещается на Dispatcher в Normal с помощью Invoke.The following example places a delegate onto a Dispatcher at Normal using Invoke.

// Places the delegate onto the UI Thread's Dispatcher
private void timer_Elapsed(object sender, ElapsedEventArgs e)
{
    // Place delegate on the Dispatcher.
    this.Dispatcher.Invoke(DispatcherPriority.Normal,
        new TimerDispatcherDelegate(TimerWorkItem));
}
' Places the delegate onto the UI Thread's Dispatcher
Private Sub timer_Elapsed(ByVal sender As Object, ByVal e As ElapsedEventArgs)
    ' Place delegate on the Dispatcher.
    Me.Dispatcher.Invoke(DispatcherPriority.Normal, New TimerDispatcherDelegate(AddressOf TimerWorkItem))
End Sub

Комментарии

В WPFWPFдоступ к этому объекту может получить только поток, создавший DispatcherObject.In WPFWPF, only the thread that created a DispatcherObject may access that object. Например, фоновый поток, который отключается из основного потока пользовательского интерфейса, не может обновить содержимое Button, созданного в потоке пользовательского интерфейса.For example, a background thread that is spun off from the main UI thread cannot update the contents of a Button that was created on the UI thread. Чтобы фоновый поток мог получить доступ к свойству содержимого Button, фоновый поток должен делегировать работу Dispatcher, связанному с потоком пользовательского интерфейса.In order for the background thread to access the Content property of the Button, the background thread must delegate the work to the Dispatcher associated with the UI thread. Это достигается с помощью Invoke или BeginInvoke.This is accomplished by using either Invoke or BeginInvoke. Invoke является синхронным и BeginInvoke асинхронным.Invoke is synchronous and BeginInvoke is asynchronous. Операция добавляется в очередь событий Dispatcher на указанном DispatcherPriority.The operation is added to the event queue of the Dispatcher at the specified DispatcherPriority.

Invoke является синхронной операцией; Поэтому Управление не вернется к вызывающему объекту до тех пор, пока не будет возвращен обратный вызов.Invoke is a synchronous operation; therefore, control will not return to the calling object until after the callback returns.

Invoke(DispatcherPriority, TimeSpan, Delegate, Object, Object[])

Выполняет указанный делегат синхронно, с заданными приоритетом и аргументами, в потоке, с которым связан Dispatcher.Executes the specified delegate at the specified priority with the specified arguments synchronously on the thread the Dispatcher is associated with.

public:
 System::Object ^ Invoke(System::Windows::Threading::DispatcherPriority priority, TimeSpan timeout, Delegate ^ method, System::Object ^ arg, ... cli::array <System::Object ^> ^ args);
[System.ComponentModel.Browsable(false)]
public object Invoke (System.Windows.Threading.DispatcherPriority priority, TimeSpan timeout, Delegate method, object arg, params object[] args);
member this.Invoke : System.Windows.Threading.DispatcherPriority * TimeSpan * Delegate * obj * obj[] -> obj
Public Function Invoke (priority As DispatcherPriority, timeout As TimeSpan, method As Delegate, arg As Object, ParamArray args As Object()) As Object

Параметры

priority
DispatcherPriority

Приоритет относительно других ожидающих выполнения операций в очереди событий Dispatcher, с которым вызван заданный метод.The priority, relative to the other pending operations in the Dispatcher event queue, the specified method is invoked.

timeout
TimeSpan

Максимальное время ожидания завершения операции.The maximum time to wait for the operation to finish.

method
Delegate

Делегат метода с несколькими аргументами, помещенный в очередь событий Dispatcher.A delegate to a method that takes multiple arguments, which is pushed onto the Dispatcher event queue.

arg
Object

Объект, передаваемый в качестве аргумента указанному методу.An object to pass as an argument to the specified method.

args
Object[]

Массив объектов, передаваемых в качестве аргументов указанному методу.An array of objects to pass as arguments to the specified method.

Возвращаемое значение

Значение, возвращаемое вызываемым делегатом, или null, если делегат не возвращает никакого значения.The return value from the delegate being invoked or null if the delegate has no return value.

Атрибуты

Исключения

priority равно Inactive.priority is equal to Inactive.

priority не является допустимым DispatcherPriority.priority is not a valid DispatcherPriority.

Свойство method имеет значение null.method is null.

Комментарии

Arg можно null, если аргумент не требуется.Arg can be null if an argument is not needed.

В WPFWPFдоступ к этому объекту может получить только поток, создавший DispatcherObject.In WPFWPF, only the thread that created a DispatcherObject may access that object. Например, фоновый поток, который отключается из основного потока пользовательского интерфейса, не может обновить содержимое Button, созданного в потоке пользовательского интерфейса.For example, a background thread that is spun off from the main UI thread cannot update the contents of a Button that was created on the UI thread. Чтобы фоновый поток мог получить доступ к свойству содержимого Button, фоновый поток должен делегировать работу Dispatcher, связанному с потоком пользовательского интерфейса.In order for the background thread to access the Content property of the Button, the background thread must delegate the work to the Dispatcher associated with the UI thread. Это достигается с помощью Invoke или BeginInvoke.This is accomplished by using either Invoke or BeginInvoke. Invoke является синхронным и BeginInvoke асинхронным.Invoke is synchronous and BeginInvoke is asynchronous. Операция добавляется в очередь событий Dispatcher на указанном DispatcherPriority.The operation is added to the event queue of the Dispatcher at the specified DispatcherPriority.

Invoke является синхронной операцией; Поэтому Управление не вернется к вызывающему объекту до тех пор, пока не будет возвращен обратный вызов.Invoke is a synchronous operation; therefore, control will not return to the calling object until after the callback returns.

Invoke(DispatcherPriority, TimeSpan, Delegate, Object)

Выполняет указанный делегат синхронно, с заданными приоритетом и аргументом, в потоке, с которым связан Dispatcher.Executes the specified delegate at the specified priority with the specified argument synchronously on the thread the Dispatcher is associated with.

public:
 System::Object ^ Invoke(System::Windows::Threading::DispatcherPriority priority, TimeSpan timeout, Delegate ^ method, System::Object ^ arg);
[System.ComponentModel.Browsable(false)]
public object Invoke (System.Windows.Threading.DispatcherPriority priority, TimeSpan timeout, Delegate method, object arg);
member this.Invoke : System.Windows.Threading.DispatcherPriority * TimeSpan * Delegate * obj -> obj
Public Function Invoke (priority As DispatcherPriority, timeout As TimeSpan, method As Delegate, arg As Object) As Object

Параметры

priority
DispatcherPriority

Приоритет относительно других ожидающих выполнения операций в очереди событий Dispatcher, с которым вызван заданный метод.The priority, relative to the other pending operations in the Dispatcher event queue, the specified method is invoked.

timeout
TimeSpan

Максимальное время ожидания завершения операции.The maximum time to wait for the operation to finish.

method
Delegate

Делегат метода с несколькими аргументами, помещенный в очередь событий Dispatcher.A delegate to a method that takes multiple arguments, which is pushed onto the Dispatcher event queue.

arg
Object

Объект, передаваемый в качестве аргумента указанному методу.An object to pass as an argument to the given method. Это может быть значение null, если аргументы не требуются.This can be null if no arguments are needed.

Возвращаемое значение

Значение, возвращаемое вызываемым делегатом, или null, если делегат не возвращает никакого значения.The return value from the delegate being invoked or null if the delegate has no return value.

Атрибуты

Исключения

priority равно Inactive.priority is equal to Inactive.

priority не является допустимым приоритетом.priority is not a valid priority.

Свойство method имеет значение null.method is null.

Комментарии

Arg может быть null, если аргумент не требуетсяArg can be null if an argument is not needed

В WPFWPFдоступ к этому объекту может получить только поток, создавший DispatcherObject.In WPFWPF, only the thread that created a DispatcherObject may access that object. Например, фоновый поток, который отключается из основного потока пользовательского интерфейса, не может обновить содержимое Button, созданного в потоке пользовательского интерфейса.For example, a background thread that is spun off from the main UI thread cannot update the contents of a Button that was created on the UI thread. Чтобы фоновый поток мог получить доступ к свойству содержимого Button, фоновый поток должен делегировать работу Dispatcher, связанному с потоком пользовательского интерфейса.In order for the background thread to access the Content property of the Button, the background thread must delegate the work to the Dispatcher associated with the UI thread. Это достигается с помощью Invoke или BeginInvoke.This is accomplished by using either Invoke or BeginInvoke. Invoke является синхронным и BeginInvoke асинхронным.Invoke is synchronous and BeginInvoke is asynchronous. Операция добавляется в очередь событий Dispatcher на указанном DispatcherPriority.The operation is added to the event queue of the Dispatcher at the specified DispatcherPriority.

Invoke является синхронной операцией; Поэтому Управление не вернется к вызывающему объекту до тех пор, пока не будет возвращен обратный вызов.Invoke is a synchronous operation; therefore, control will not return to the calling object until after the callback returns.

Invoke(DispatcherPriority, Delegate, Object, Object[])

Выполняет указанный делегат синхронно, с заданными приоритетом и аргументами, в потоке, с которым связан Dispatcher.Executes the specified delegate at the specified priority with the specified arguments synchronously on the thread the Dispatcher is associated with.

public:
 System::Object ^ Invoke(System::Windows::Threading::DispatcherPriority priority, Delegate ^ method, System::Object ^ arg, ... cli::array <System::Object ^> ^ args);
[System.ComponentModel.Browsable(false)]
public object Invoke (System.Windows.Threading.DispatcherPriority priority, Delegate method, object arg, params object[] args);
member this.Invoke : System.Windows.Threading.DispatcherPriority * Delegate * obj * obj[] -> obj
Public Function Invoke (priority As DispatcherPriority, method As Delegate, arg As Object, ParamArray args As Object()) As Object

Параметры

priority
DispatcherPriority

Приоритет относительно других ожидающих выполнения операций в очереди событий Dispatcher, с которым вызван заданный метод.The priority, relative to the other pending operations in the Dispatcher event queue, the specified method is invoked.

method
Delegate

Делегат метода с несколькими аргументами, помещенный в очередь событий Dispatcher.A delegate to a method that takes multiple arguments, which is pushed onto the Dispatcher event queue.

arg
Object

Объект, передаваемый в качестве аргумента указанному методу.An object to pass as an argument to the given method.

args
Object[]

Массив объектов, передаваемых в качестве аргументов указанному методу.An array of objects to pass as arguments to the given method.

Возвращаемое значение

Значение, возвращаемое вызываемым делегатом, или null, если делегат не возвращает никакого значения.The return value from the delegate being invoked or null if the delegate has no return value.

Атрибуты

Исключения

priority равно Inactive.priority is equal to Inactive.

priority не является допустимым приоритетом.priority is not a valid priority.

Свойство method имеет значение null.method is null.

Комментарии

Arg может быть null, если аргумент не требуетсяArg can be null if an argument is not needed

В WPFWPFдоступ к этому объекту может получить только поток, создавший DispatcherObject.In WPFWPF, only the thread that created a DispatcherObject may access that object. Например, фоновый поток, который отключается из основного потока пользовательского интерфейса, не может обновить содержимое Button, созданного в потоке пользовательского интерфейса.For example, a background thread that is spun off from the main UI thread cannot update the contents of a Button that was created on the UI thread. Чтобы фоновый поток мог получить доступ к свойству содержимого Button, фоновый поток должен делегировать работу Dispatcher, связанному с потоком пользовательского интерфейса.In order for the background thread to access the Content property of the Button, the background thread must delegate the work to the Dispatcher associated with the UI thread. Это достигается с помощью Invoke или BeginInvoke.This is accomplished by using either Invoke or BeginInvoke. Invoke является синхронным и BeginInvoke асинхронным.Invoke is synchronous and BeginInvoke is asynchronous. Операция добавляется в очередь событий Dispatcher на указанном DispatcherPriority.The operation is added to the event queue of the Dispatcher at the specified DispatcherPriority.

Invoke является синхронной операцией; Поэтому Управление не вернется к вызывающему объекту до тех пор, пока не будет возвращен обратный вызов.Invoke is a synchronous operation; therefore, control will not return to the calling object until after the callback returns.

Invoke(Action, DispatcherPriority, CancellationToken, TimeSpan)

Выполняет указанный объект Action синхронно с заданным приоритетом в потоке, с которым связан Dispatcher.Executes the specified Action synchronously at the specified priority on the thread the Dispatcher is associated with.

public:
 void Invoke(Action ^ callback, System::Windows::Threading::DispatcherPriority priority, System::Threading::CancellationToken cancellationToken, TimeSpan timeout);
public void Invoke (Action callback, System.Windows.Threading.DispatcherPriority priority, System.Threading.CancellationToken cancellationToken, TimeSpan timeout);
member this.Invoke : Action * System.Windows.Threading.DispatcherPriority * System.Threading.CancellationToken * TimeSpan -> unit

Параметры

callback
Action

Делегат, вызываемый с помощью диспетчера.A delegate to invoke through the dispatcher.

priority
DispatcherPriority

Приоритет, определяющий очередность вызова указанного метода обратного вызова по отношению к другим ожидающим операциям в объекте Dispatcher.The priority that determines in what order the specified callback is invoked relative to the other pending operations in the Dispatcher.

cancellationToken
CancellationToken

Объект, указывающий, следует ли отменить действие.An object that indicates whether to cancel the action.

timeout
TimeSpan

Минимальное время ожидания запуска операции.The minimum amount of time to wait for the operation to start.

Invoke(DispatcherPriority, TimeSpan, Delegate)

Выполняет указанный делегат асинхронно, с заданными приоритетом и значением таймаута, в потоке, в котором был создан объект Dispatcher.Executes the specified delegate synchronously at the specified priority and with the specified time-out value on the thread the Dispatcher was created.

public:
 System::Object ^ Invoke(System::Windows::Threading::DispatcherPriority priority, TimeSpan timeout, Delegate ^ method);
[System.ComponentModel.Browsable(false)]
public object Invoke (System.Windows.Threading.DispatcherPriority priority, TimeSpan timeout, Delegate method);
member this.Invoke : System.Windows.Threading.DispatcherPriority * TimeSpan * Delegate -> obj
Public Function Invoke (priority As DispatcherPriority, timeout As TimeSpan, method As Delegate) As Object

Параметры

priority
DispatcherPriority

Приоритет относительно других ожидающих выполнения операций в очереди событий Dispatcher, с которым вызван заданный метод.The priority, relative to the other pending operations in the Dispatcher event queue, the specified method is invoked.

timeout
TimeSpan

Максимальное время ожидания завершения операции.The maximum time to wait for the operation to finish.

method
Delegate

Делегат метода без аргументов, помещенный в очередь событий Dispatcher.The delegate to a method that takes no arguments, which is pushed onto the Dispatcher event queue.

Возвращаемое значение

Значение, возвращаемое вызываемым делегатом, или null, если делегат не возвращает никакого значения.The return value from the delegate being invoked or null if the delegate has no return value.

Атрибуты

Комментарии

В WPFWPFдоступ к этому объекту может получить только поток, создавший DispatcherObject.In WPFWPF, only the thread that created a DispatcherObject may access that object. Например, фоновый поток, который отключается из основного потока пользовательского интерфейса, не может обновить содержимое Button, созданного в потоке пользовательского интерфейса.For example, a background thread that is spun off from the main UI thread cannot update the contents of a Button that was created on the UI thread. Чтобы фоновый поток мог получить доступ к свойству содержимого Button, фоновый поток должен делегировать работу Dispatcher, связанному с потоком пользовательского интерфейса.In order for the background thread to access the Content property of the Button, the background thread must delegate the work to the Dispatcher associated with the UI thread. Это достигается с помощью Invoke или BeginInvoke.This is accomplished by using either Invoke or BeginInvoke. Invoke является синхронным и BeginInvoke асинхронным.Invoke is synchronous and BeginInvoke is asynchronous. Операция добавляется в очередь событий Dispatcher на указанном DispatcherPriority.The operation is added to the event queue of the Dispatcher at the specified DispatcherPriority.

Invoke является синхронной операцией; Поэтому Управление не вернется к вызывающему объекту до тех пор, пока не будет возвращен обратный вызов.Invoke is a synchronous operation; therefore, control will not return to the calling object until after the callback returns.

Invoke(DispatcherPriority, Delegate, Object)

Выполняет указанный делегат синхронно, с заданными приоритетом и аргументом, в потоке, с которым связан Dispatcher.Executes the specified delegate at the specified priority with the specified argument synchronously on the thread the Dispatcher is associated with.

public:
 System::Object ^ Invoke(System::Windows::Threading::DispatcherPriority priority, Delegate ^ method, System::Object ^ arg);
[System.ComponentModel.Browsable(false)]
public object Invoke (System.Windows.Threading.DispatcherPriority priority, Delegate method, object arg);
member this.Invoke : System.Windows.Threading.DispatcherPriority * Delegate * obj -> obj
Public Function Invoke (priority As DispatcherPriority, method As Delegate, arg As Object) As Object

Параметры

priority
DispatcherPriority

Приоритет относительно других ожидающих выполнения операций в очереди событий Dispatcher, с которым вызван заданный метод.The priority, relative to the other pending operations in the Dispatcher event queue, the specified method is invoked.

method
Delegate

Делегат метода с одним аргументом, помещенный в очередь событий Dispatcher.A delegate to a method that takes one argument, which is pushed onto the Dispatcher event queue.

arg
Object

Объект, передаваемый в качестве аргумента указанному методу.An object to pass as an argument to the given method.

Возвращаемое значение

Значение, возвращаемое вызываемым делегатом, или null, если делегат не возвращает никакого значения.The return value from the delegate being invoked or null if the delegate has no return value.

Атрибуты

Исключения

priority равно Inactive.priority is equal to Inactive.

priority не является допустимым приоритетом.priority is not a valid priority.

Свойство method имеет значение null.method is null.

Комментарии

Arg может быть null, если аргумент не требуетсяArg can be null if an argument is not needed

В WPFWPFдоступ к этому объекту может получить только поток, создавший DispatcherObject.In WPFWPF, only the thread that created a DispatcherObject may access that object. Например, фоновый поток, который отключается из основного потока пользовательского интерфейса, не может обновить содержимое Button, созданного в потоке пользовательского интерфейса.For example, a background thread that is spun off from the main UI thread cannot update the contents of a Button that was created on the UI thread. Чтобы фоновый поток мог получить доступ к свойству содержимого Button, фоновый поток должен делегировать работу Dispatcher, связанному с потоком пользовательского интерфейса.In order for the background thread to access the Content property of the Button, the background thread must delegate the work to the Dispatcher associated with the UI thread. Это достигается с помощью Invoke или BeginInvoke.This is accomplished by using either Invoke or BeginInvoke. Invoke является синхронным и BeginInvoke асинхронным.Invoke is synchronous and BeginInvoke is asynchronous. Операция добавляется в очередь событий Dispatcher на указанном DispatcherPriority.The operation is added to the event queue of the Dispatcher at the specified DispatcherPriority.

Invoke является синхронной операцией; Поэтому Управление не вернется к вызывающему объекту до тех пор, пока не будет возвращен обратный вызов.Invoke is a synchronous operation; therefore, control will not return to the calling object until after the callback returns.

Invoke(Delegate, TimeSpan, DispatcherPriority, Object[])

Выполняет указанный делегат в течение заданного промежутка времени, синхронно, с заданными приоритетом и аргументами, в потоке, с которым связан Dispatcher.Executes the specified delegate within the designated time span at the specified priority with the specified arguments synchronously on the thread the Dispatcher is associated with.

public:
 System::Object ^ Invoke(Delegate ^ method, TimeSpan timeout, System::Windows::Threading::DispatcherPriority priority, ... cli::array <System::Object ^> ^ args);
public object Invoke (Delegate method, TimeSpan timeout, System.Windows.Threading.DispatcherPriority priority, params object[] args);
member this.Invoke : Delegate * TimeSpan * System.Windows.Threading.DispatcherPriority * obj[] -> obj
Public Function Invoke (method As Delegate, timeout As TimeSpan, priority As DispatcherPriority, ParamArray args As Object()) As Object

Параметры

method
Delegate

Делегат метода с параметрами, указанными в args, который помещен в очередь событий Dispatcher.A delegate to a method that takes parameters specified in args, which is pushed onto the Dispatcher event queue.

timeout
TimeSpan

Максимальное время ожидания завершения операции.The maximum amount of time to wait for the operation to complete.

priority
DispatcherPriority

Приоритет относительно других ожидающих выполнения операций в очереди событий Dispatcher, с которым вызван заданный метод.The priority, relative to the other pending operations in the Dispatcher event queue, the specified method is invoked.

args
Object[]

Массив объектов, передаваемых в качестве аргументов указанному методу.An array of objects to pass as arguments to the given method. Может иметь значение null.Can be null.

Возвращаемое значение

Значение, возвращаемое вызываемым делегатом, или null, если делегат не возвращает никакого значения.The return value from the delegate being invoked or null if the delegate has no return value.

Комментарии

В WPFWPFдоступ к этому объекту может получить только поток, создавший DispatcherObject.In WPFWPF, only the thread that created a DispatcherObject may access that object. Например, фоновый поток, который отключается из основного потока пользовательского интерфейса, не может обновить содержимое Button, созданного в потоке пользовательского интерфейса.For example, a background thread that is spun off from the main UI thread cannot update the contents of a Button that was created on the UI thread. Чтобы фоновый поток мог получить доступ к свойству содержимого Button, фоновый поток должен делегировать работу Dispatcher, связанному с потоком пользовательского интерфейса.In order for the background thread to access the Content property of the Button, the background thread must delegate the work to the Dispatcher associated with the UI thread. Это достигается с помощью Invoke или BeginInvoke.This is accomplished by using either Invoke or BeginInvoke. Invoke является синхронным и BeginInvoke асинхронным.Invoke is synchronous and BeginInvoke is asynchronous. Операция добавляется в очередь событий Dispatcher на указанном DispatcherPriority.The operation is added to the event queue of the Dispatcher at the specified DispatcherPriority.

Invoke является синхронной операцией; Поэтому Управление не вернется к вызывающему объекту до тех пор, пока не будет возвращен обратный вызов.Invoke is a synchronous operation; therefore, control will not return to the calling object until after the callback returns.

Invoke(Delegate, TimeSpan, Object[])

Выполняет указанный делегат в течение заданного промежутка времени, синхронно, с заданными приоритетом и аргументами, в потоке, с которым связан Dispatcher.Executes the specified delegate within the designated time span at the specified priority with the specified arguments synchronously on the thread the Dispatcher is associated with.

public:
 System::Object ^ Invoke(Delegate ^ method, TimeSpan timeout, ... cli::array <System::Object ^> ^ args);
public object Invoke (Delegate method, TimeSpan timeout, params object[] args);
member this.Invoke : Delegate * TimeSpan * obj[] -> obj
Public Function Invoke (method As Delegate, timeout As TimeSpan, ParamArray args As Object()) As Object

Параметры

method
Delegate

Делегат метода с параметрами, указанными в args, который помещен в очередь событий Dispatcher.A delegate to a method that takes parameters specified in args, which is pushed onto the Dispatcher event queue.

timeout
TimeSpan

Максимальное время ожидания завершения операции.The maximum amount of time to wait for the operation to complete.

args
Object[]

Массив объектов, передаваемых в качестве аргументов указанному методу.An array of objects to pass as arguments to the given method. Может иметь значение null.Can be null.

Возвращаемое значение

Значение, возвращаемое вызываемым делегатом, или null, если делегат не возвращает никакого значения.The return value from the delegate being invoked or null if the delegate has no return value.

Комментарии

В WPFWPFдоступ к этому объекту может получить только поток, создавший DispatcherObject.In WPFWPF, only the thread that created a DispatcherObject may access that object. Например, фоновый поток, который отключается из основного потока пользовательского интерфейса, не может обновить содержимое Button, созданного в потоке пользовательского интерфейса.For example, a background thread that is spun off from the main UI thread cannot update the contents of a Button that was created on the UI thread. Чтобы фоновый поток мог получить доступ к свойству содержимого Button, фоновый поток должен делегировать работу Dispatcher, связанному с потоком пользовательского интерфейса.In order for the background thread to access the Content property of the Button, the background thread must delegate the work to the Dispatcher associated with the UI thread. Это достигается с помощью Invoke или BeginInvoke.This is accomplished by using either Invoke or BeginInvoke. Invoke является синхронным и BeginInvoke асинхронным.Invoke is synchronous and BeginInvoke is asynchronous. Операция добавляется в очередь событий Dispatcher на указанном DispatcherPriority.The operation is added to the event queue of the Dispatcher at the specified DispatcherPriority.

Invoke является синхронной операцией; Поэтому Управление не вернется к вызывающему объекту до тех пор, пока не будет возвращен обратный вызов.Invoke is a synchronous operation; therefore, control will not return to the calling object until after the callback returns.

Invoke(Action, DispatcherPriority, CancellationToken)

Выполняет указанный объект Action синхронно с заданным приоритетом в потоке, с которым связан Dispatcher.Executes the specified Action synchronously at the specified priority on the thread the Dispatcher is associated with.

public:
 void Invoke(Action ^ callback, System::Windows::Threading::DispatcherPriority priority, System::Threading::CancellationToken cancellationToken);
public void Invoke (Action callback, System.Windows.Threading.DispatcherPriority priority, System.Threading.CancellationToken cancellationToken);
member this.Invoke : Action * System.Windows.Threading.DispatcherPriority * System.Threading.CancellationToken -> unit

Параметры

callback
Action

Делегат, вызываемый с помощью диспетчера.A delegate to invoke through the dispatcher.

priority
DispatcherPriority

Приоритет, определяющий очередность вызова указанного метода обратного вызова по отношению к другим ожидающим операциям в объекте Dispatcher.The priority that determines in what order the specified callback is invoked relative to the other pending operations in the Dispatcher.

cancellationToken
CancellationToken

Объект, указывающий, следует ли отменить действие.An object that indicates whether to cancel the action.

Invoke(DispatcherPriority, Delegate)

Выполняет указанный делегат синхронно, с заданным приоритетом, в потоке, с которым связан Dispatcher.Executes the specified delegate synchronously at the specified priority on the thread on which the Dispatcher is associated with.

public:
 System::Object ^ Invoke(System::Windows::Threading::DispatcherPriority priority, Delegate ^ method);
[System.ComponentModel.Browsable(false)]
public object Invoke (System.Windows.Threading.DispatcherPriority priority, Delegate method);
member this.Invoke : System.Windows.Threading.DispatcherPriority * Delegate -> obj
Public Function Invoke (priority As DispatcherPriority, method As Delegate) As Object

Параметры

priority
DispatcherPriority

Приоритет относительно других ожидающих выполнения операций в очереди событий Dispatcher, с которым вызван заданный метод.The priority, relative to the other pending operations in the Dispatcher event queue, the specified method is invoked.

method
Delegate

Делегат метода без аргументов, помещенный в очередь событий Dispatcher.A delegate to a method that takes no arguments, which is pushed onto the Dispatcher event queue.

Возвращаемое значение

Значение, возвращаемое вызываемым делегатом, или null, если делегат не возвращает никакого значения.The return value from the delegate being invoked or null if the delegate has no return value.

Атрибуты

Исключения

priority равно Inactive.priority is equal to Inactive.

priority не является допустимым приоритетом.priority is not a valid priority.

Свойство method имеет значение null.method is null.

Примеры

В следующем примере делегат помещается на Dispatcher в Normal с помощью Invoke.The following example places a delegate onto a Dispatcher at Normal using Invoke.

// Places the delegate onto the UI Thread's Dispatcher
private void timer_Elapsed(object sender, ElapsedEventArgs e)
{
    // Place delegate on the Dispatcher.
    this.Dispatcher.Invoke(DispatcherPriority.Normal,
        new TimerDispatcherDelegate(TimerWorkItem));
}
' Places the delegate onto the UI Thread's Dispatcher
Private Sub timer_Elapsed(ByVal sender As Object, ByVal e As ElapsedEventArgs)
    ' Place delegate on the Dispatcher.
    Me.Dispatcher.Invoke(DispatcherPriority.Normal, New TimerDispatcherDelegate(AddressOf TimerWorkItem))
End Sub

Комментарии

В WPFWPFдоступ к этому объекту может получить только поток, создавший DispatcherObject.In WPFWPF, only the thread that created a DispatcherObject may access that object. Например, фоновый поток, который отключается из основного потока пользовательского интерфейса, не может обновить содержимое Button, созданного в потоке пользовательского интерфейса.For example, a background thread that is spun off from the main UI thread cannot update the contents of a Button that was created on the UI thread. Чтобы фоновый поток мог получить доступ к свойству содержимого Button, фоновый поток должен делегировать работу Dispatcher, связанному с потоком пользовательского интерфейса.In order for the background thread to access the Content property of the Button, the background thread must delegate the work to the Dispatcher associated with the UI thread. Это достигается с помощью Invoke или BeginInvoke.This is accomplished by using either Invoke or BeginInvoke. Invoke является синхронным и BeginInvoke асинхронным.Invoke is synchronous and BeginInvoke is asynchronous. Операция добавляется в очередь событий Dispatcher на указанном DispatcherPriority.The operation is added to the event queue of the Dispatcher at the specified DispatcherPriority.

Invoke является синхронной операцией; Поэтому Управление не вернется к вызывающему объекту до тех пор, пока не будет возвращен обратный вызов.Invoke is a synchronous operation; therefore, control will not return to the calling object until after the callback returns.

Invoke(Delegate, Object[])

Выполняет указанный делегат синхронно с заданными аргументами в потоке, с которым связан объект Dispatcher.Executes the specified delegate with the specified arguments synchronously on the thread the Dispatcher is associated with.

public:
 System::Object ^ Invoke(Delegate ^ method, ... cli::array <System::Object ^> ^ args);
public object Invoke (Delegate method, params object[] args);
member this.Invoke : Delegate * obj[] -> obj
Public Function Invoke (method As Delegate, ParamArray args As Object()) As Object

Параметры

method
Delegate

Делегат метода с параметрами, указанными в args, который помещен в очередь событий Dispatcher.A delegate to a method that takes parameters specified in args, which is pushed onto the Dispatcher event queue.

args
Object[]

Массив объектов, передаваемых в качестве аргументов указанному методу.An array of objects to pass as arguments to the given method. Может иметь значение null.Can be null.

Возвращаемое значение

Значение, возвращаемое вызываемым делегатом, или null, если делегат не возвращает никакого значения.The return value from the delegate being invoked or null if the delegate has no return value.

Комментарии

В WPFWPFдоступ к этому объекту может получить только поток, создавший DispatcherObject.In WPFWPF, only the thread that created a DispatcherObject may access that object. Например, фоновый поток, который отключается из основного потока пользовательского интерфейса, не может обновить содержимое Button, созданного в потоке пользовательского интерфейса.For example, a background thread that is spun off from the main UI thread cannot update the contents of a Button that was created on the UI thread. Чтобы фоновый поток мог получить доступ к свойству содержимого Button, фоновый поток должен делегировать работу Dispatcher, связанному с потоком пользовательского интерфейса.In order for the background thread to access the Content property of the Button, the background thread must delegate the work to the Dispatcher associated with the UI thread. Это достигается с помощью Invoke или BeginInvoke.This is accomplished by using either Invoke or BeginInvoke. Invoke является синхронным и BeginInvoke асинхронным.Invoke is synchronous and BeginInvoke is asynchronous. Операция добавляется в очередь событий Dispatcher на указанном DispatcherPriority.The operation is added to the event queue of the Dispatcher at the specified DispatcherPriority.

Invoke является синхронной операцией; Поэтому Управление не вернется к вызывающему объекту до тех пор, пока не будет возвращен обратный вызов.Invoke is a synchronous operation; therefore, control will not return to the calling object until after the callback returns.

Invoke(Action, DispatcherPriority)

Выполняет указанный объект Action синхронно с заданным приоритетом в потоке, с которым связан Dispatcher.Executes the specified Action synchronously at the specified priority on the thread the Dispatcher is associated with.

public:
 void Invoke(Action ^ callback, System::Windows::Threading::DispatcherPriority priority);
public void Invoke (Action callback, System.Windows.Threading.DispatcherPriority priority);
member this.Invoke : Action * System.Windows.Threading.DispatcherPriority -> unit
Public Sub Invoke (callback As Action, priority As DispatcherPriority)

Параметры

callback
Action

Делегат, вызываемый с помощью диспетчера.A delegate to invoke through the dispatcher.

priority
DispatcherPriority

Приоритет, определяющий очередность вызова указанного метода обратного вызова по отношению к другим ожидающим операциям в объекте Dispatcher.The priority that determines in what order the specified callback is invoked relative to the other pending operations in the Dispatcher.

Invoke(Action)

Выполняет заданный объект Action синхронно в потоке, с которым связан Dispatcher.Executes the specified Action synchronously on the thread the Dispatcher is associated with.

public:
 void Invoke(Action ^ callback);
public void Invoke (Action callback);
member this.Invoke : Action -> unit
Public Sub Invoke (callback As Action)

Параметры

callback
Action

Делегат, вызываемый с помощью диспетчера.A delegate to invoke through the dispatcher.

Invoke(Delegate, DispatcherPriority, Object[])

Выполняет указанный делегат синхронно, с заданными приоритетом и аргументами, в потоке, с которым связан Dispatcher.Executes the specified delegate at the specified priority with the specified arguments synchronously on the thread the Dispatcher is associated with.

public:
 System::Object ^ Invoke(Delegate ^ method, System::Windows::Threading::DispatcherPriority priority, ... cli::array <System::Object ^> ^ args);
public object Invoke (Delegate method, System.Windows.Threading.DispatcherPriority priority, params object[] args);
member this.Invoke : Delegate * System.Windows.Threading.DispatcherPriority * obj[] -> obj
Public Function Invoke (method As Delegate, priority As DispatcherPriority, ParamArray args As Object()) As Object

Параметры

method
Delegate

Делегат метода с параметрами, указанными в args, который помещен в очередь событий Dispatcher.A delegate to a method that takes parameters specified in args, which is pushed onto the Dispatcher event queue.

priority
DispatcherPriority

Приоритет относительно других ожидающих выполнения операций в очереди событий Dispatcher, с которым вызван заданный метод.The priority, relative to the other pending operations in the Dispatcher event queue, the specified method is invoked.

args
Object[]

Массив объектов, передаваемых в качестве аргументов указанному методу.An array of objects to pass as arguments to the given method. Может иметь значение null.Can be null.

Возвращаемое значение

Значение, возвращаемое вызываемым делегатом, или null, если делегат не возвращает никакого значения.The return value from the delegate being invoked or null if the delegate has no return value.

Комментарии

В WPFWPFдоступ к этому объекту может получить только поток, создавший DispatcherObject.In WPFWPF, only the thread that created a DispatcherObject may access that object. Например, фоновый поток, который отключается из основного потока пользовательского интерфейса, не может обновить содержимое Button, созданного в потоке пользовательского интерфейса.For example, a background thread that is spun off from the main UI thread cannot update the contents of a Button that was created on the UI thread. Чтобы фоновый поток мог получить доступ к свойству содержимого Button, фоновый поток должен делегировать работу Dispatcher, связанному с потоком пользовательского интерфейса.In order for the background thread to access the Content property of the Button, the background thread must delegate the work to the Dispatcher associated with the UI thread. Это достигается с помощью Invoke или BeginInvoke.This is accomplished by using either Invoke or BeginInvoke. Invoke является синхронным и BeginInvoke асинхронным.Invoke is synchronous and BeginInvoke is asynchronous. Операция добавляется в очередь событий Dispatcher на указанном DispatcherPriority.The operation is added to the event queue of the Dispatcher at the specified DispatcherPriority.

Invoke является синхронной операцией; Поэтому Управление не вернется к вызывающему объекту до тех пор, пока не будет возвращен обратный вызов.Invoke is a synchronous operation; therefore, control will not return to the calling object until after the callback returns.

Invoke<TResult>(Func<TResult>)

Выполняет заданный объект Func<TResult> синхронно в потоке, с которым связан Dispatcher.Executes the specified Func<TResult> synchronously on the thread the Dispatcher is associated with.

public:
generic <typename TResult>
 TResult Invoke(Func<TResult> ^ callback);
public TResult Invoke<TResult> (Func<TResult> callback);
member this.Invoke : Func<'Result> -> 'Result
Public Function Invoke(Of TResult) (callback As Func(Of TResult)) As TResult

Параметры типа

TResult

Тип возвращаемого значения указанного делегата.The return value type of the specified delegate.

Параметры

callback
Func<TResult>

Делегат, вызываемый с помощью диспетчера.A delegate to invoke through the dispatcher.

Возвращаемое значение

TResult

Комментарии

Значение, возвращаемое callback.The value returned by callback.

Invoke<TResult>(Func<TResult>, DispatcherPriority)

Выполняет указанный объект Func<TResult> синхронно с заданным приоритетом в потоке, с которым связан Dispatcher.Executes the specified Func<TResult> synchronously at the specified priority on the thread the Dispatcher is associated with.

public:
generic <typename TResult>
 TResult Invoke(Func<TResult> ^ callback, System::Windows::Threading::DispatcherPriority priority);
public TResult Invoke<TResult> (Func<TResult> callback, System.Windows.Threading.DispatcherPriority priority);
member this.Invoke : Func<'Result> * System.Windows.Threading.DispatcherPriority -> 'Result
Public Function Invoke(Of TResult) (callback As Func(Of TResult), priority As DispatcherPriority) As TResult

Параметры типа

TResult

Тип возвращаемого значения указанного делегата.The return value type of the specified delegate.

Параметры

callback
Func<TResult>

Делегат, вызываемый с помощью диспетчера.A delegate to invoke through the dispatcher.

priority
DispatcherPriority

Приоритет, определяющий очередность вызова указанного метода обратного вызова по отношению к другим ожидающим операциям в объекте Dispatcher.The priority that determines in what order the specified callback is invoked relative to the other pending operations in the Dispatcher.

Возвращаемое значение

TResult

Комментарии

Значение, возвращаемое callback.The value returned by callback.

Invoke<TResult>(Func<TResult>, DispatcherPriority, CancellationToken)

Выполняет указанный объект Func<TResult> синхронно с заданным приоритетом в потоке, с которым связан Dispatcher.Executes the specified Func<TResult> synchronously at the specified priority on the thread the Dispatcher is associated with.

public:
generic <typename TResult>
 TResult Invoke(Func<TResult> ^ callback, System::Windows::Threading::DispatcherPriority priority, System::Threading::CancellationToken cancellationToken);
public TResult Invoke<TResult> (Func<TResult> callback, System.Windows.Threading.DispatcherPriority priority, System.Threading.CancellationToken cancellationToken);
member this.Invoke : Func<'Result> * System.Windows.Threading.DispatcherPriority * System.Threading.CancellationToken -> 'Result

Параметры типа

TResult

Тип возвращаемого значения указанного делегата.The return value type of the specified delegate.

Параметры

callback
Func<TResult>

Делегат, вызываемый с помощью диспетчера.A delegate to invoke through the dispatcher.

priority
DispatcherPriority

Приоритет, определяющий очередность вызова указанного метода обратного вызова по отношению к другим ожидающим операциям в объекте Dispatcher.The priority that determines in what order the specified callback is invoked relative to the other pending operations in the Dispatcher.

cancellationToken
CancellationToken

Объект, указывающий, следует ли отменить операцию.An object that indicates whether to cancel the operation.

Возвращаемое значение

TResult

Комментарии

Значение, возвращаемое callback.The value returned by callback.

Invoke<TResult>(Func<TResult>, DispatcherPriority, CancellationToken, TimeSpan)

Выполняет указанный объект Func<TResult> синхронно с заданным приоритетом в потоке, с которым связан Dispatcher.Executes the specified Func<TResult> synchronously at the specified priority on the thread the Dispatcher is associated with.

public:
generic <typename TResult>
 TResult Invoke(Func<TResult> ^ callback, System::Windows::Threading::DispatcherPriority priority, System::Threading::CancellationToken cancellationToken, TimeSpan timeout);
public TResult Invoke<TResult> (Func<TResult> callback, System.Windows.Threading.DispatcherPriority priority, System.Threading.CancellationToken cancellationToken, TimeSpan timeout);
member this.Invoke : Func<'Result> * System.Windows.Threading.DispatcherPriority * System.Threading.CancellationToken * TimeSpan -> 'Result

Параметры типа

TResult

Тип возвращаемого значения указанного делегата.The return value type of the specified delegate.

Параметры

callback
Func<TResult>

Делегат, вызываемый с помощью диспетчера.A delegate to invoke through the dispatcher.

priority
DispatcherPriority

Приоритет, определяющий очередность вызова указанного метода обратного вызова по отношению к другим ожидающим операциям в объекте Dispatcher.The priority that determines in what order the specified callback is invoked relative to the other pending operations in the Dispatcher.

cancellationToken
CancellationToken

Объект, указывающий, следует ли отменить операцию.An object that indicates whether to cancel the operation.

timeout
TimeSpan

Минимальное время ожидания запуска операции.The minimum amount of time to wait for the operation to start.

Возвращаемое значение

TResult

Комментарии

Значение, возвращаемое callback.The value returned by callback.

Применяется к