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 that 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

Комментарии

В WPF только поток, создавший объект, DispatcherObject может обращаться к этому объекту.In WPF, 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. Чтобы фоновый поток мог получить доступ к свойству Content объекта 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);
[<System.ComponentModel.Browsable(false)>]
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, with which the specified method is invoked.

timeout
TimeSpan

Максимальное количество времени, в течение которого ожидается запуск операции.The maximum amount of time to wait for the operation to start. После запуска операции она будет завершена перед возвратом из метода.Once the operation has started, it will complete before this method returns. Чтобы задать бесконечное ожидание, используйте значение-1.To specify an infinite wait, use a value of -1. При вызове одного потока любое другое отрицательное значение преобразуется в-1, что приводит к бесконечному ожиданию.In a same-thread call, any other negative value is converted to -1, resulting in an infinite wait. При вызове между потоками любое другое отрицательное значение создает исключение ArgumentOutOfRangeException .In a cross-thread call, any other negative value throws an ArgumentOutOfRangeException.

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.

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

Object

Значение, возвращаемое вызываемым делегатом, или 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.

timeout отрицательное число, отличное от-1, и этот метод был вызван в потоках.timeout is a negative number other than -1, and this method was invoked across threads.

Комментарии

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

В WPF только поток, создавший объект, DispatcherObject может обращаться к этому объекту.In WPF, 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. Чтобы фоновый поток мог получить доступ к свойству Content объекта 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);
[<System.ComponentModel.Browsable(false)>]
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, with which the specified method is invoked.

timeout
TimeSpan

Максимальное количество времени, в течение которого ожидается запуск операции.The maximum amount of time to wait for the operation to start. После запуска операции она будет завершена перед возвратом из метода.Once the operation has started, it will complete before this method returns. Чтобы задать бесконечное ожидание, используйте значение-1.To specify an infinite wait, use a value of -1. При вызове одного потока любое другое отрицательное значение преобразуется в-1, что приводит к бесконечному ожиданию.In a same-thread call, any other negative value is converted to -1, resulting in an infinite wait. При вызове между потоками любое другое отрицательное значение создает исключение ArgumentOutOfRangeException .In a cross-thread call, any other negative value throws an ArgumentOutOfRangeException.

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.

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

Object

Значение, возвращаемое вызываемым делегатом, или 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

В WPF только поток, создавший объект, DispatcherObject может обращаться к этому объекту.In WPF, 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. Чтобы фоновый поток мог получить доступ к свойству Content объекта 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);
[<System.ComponentModel.Browsable(false)>]
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, with which 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.

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

Object

Значение, возвращаемое вызываемым делегатом, или 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

В WPF только поток, создавший объект, DispatcherObject может обращаться к этому объекту.In WPF, 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. Чтобы фоновый поток мог получить доступ к свойству Content объекта 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
Public Sub Invoke (callback As Action, priority As DispatcherPriority, cancellationToken As CancellationToken, timeout As TimeSpan)

Параметры

callback
Action

Делегат действия для вызова через Dispatcher.An Action delegate to invoke through the dispatcher.

priority
DispatcherPriority

Приоритет, определяющий порядок, в котором заданный обратный вызов вызывается относительно других ожидающих операций в Dispatcher .The priority that determines the order in which 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 maximum amount of time to wait for the operation to start. После запуска операции она будет завершена перед возвратом из метода.Once the operation has started, it will complete before this method returns. Чтобы задать бесконечное ожидание, используйте значение-1.To specify an infinite wait, use a value of -1. При вызове одного потока любое другое отрицательное значение преобразуется в-1, что приводит к бесконечному ожиданию.In a same-thread call, any other negative value is converted to -1, resulting in an infinite wait. При вызове между потоками любое другое отрицательное значение создает исключение ArgumentOutOfRangeException .In a cross-thread call, any other negative value throws an ArgumentOutOfRangeException.

Исключения

callback имеет значение null.callback is null.

timeout отрицательное число, отличное от-1, и этот метод был вызван в потоках.timeout is a negative number other than -1, and this method was invoked across threads.

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

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

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);
[<System.ComponentModel.Browsable(false)>]
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, with which the specified method is invoked.

timeout
TimeSpan

Максимальное количество времени, в течение которого ожидается запуск операции.The maximum amount of time to wait for the operation to start. После запуска операции она будет завершена перед возвратом из метода.Once the operation has started, it will complete before this method returns. Чтобы задать бесконечное ожидание, используйте значение-1.To specify an infinite wait, use a value of -1. При вызове одного потока любое другое отрицательное значение преобразуется в-1, что приводит к бесконечному ожиданию.In a same-thread call, any other negative value is converted to -1, resulting in an infinite wait. При вызове между потоками любое другое отрицательное значение создает исключение ArgumentOutOfRangeException .In a cross-thread call, any other negative value throws an ArgumentOutOfRangeException.

method
Delegate

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

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

Object

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

Атрибуты

Исключения

method имеет значение null.method is null.

timeout отрицательное число, отличное от-1, и этот метод был вызван в потоках.timeout is a negative number other than -1, and this method was invoked across threads.

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

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

Комментарии

В WPF только поток, создавший объект, DispatcherObject может обращаться к этому объекту.In WPF, 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. Чтобы фоновый поток мог получить доступ к свойству Content объекта 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);
[<System.ComponentModel.Browsable(false)>]
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, with which 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.

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

Object

Значение, возвращаемое вызываемым делегатом, или 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

В WPF только поток, создавший объект, DispatcherObject может обращаться к этому объекту.In WPF, 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. Чтобы фоновый поток мог получить доступ к свойству Content объекта 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 start. После запуска операции она будет завершена перед возвратом из метода.Once the operation has started, it will complete before this method returns. Чтобы задать бесконечное ожидание, используйте значение-1.To specify an infinite wait, use a value of -1. При вызове одного потока любое другое отрицательное значение преобразуется в-1, что приводит к бесконечному ожиданию.In a same-thread call, any other negative value is converted to -1, resulting in an infinite wait. При вызове между потоками любое другое отрицательное значение создает исключение ArgumentOutOfRangeException .In a cross-thread call, any other negative value throws an ArgumentOutOfRangeException.

priority
DispatcherPriority

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

args
Object[]

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

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

Object

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

Исключения

method имеет значение null.method is null.

timeout отрицательное число, отличное от-1, и этот метод был вызван в потоках.timeout is a negative number other than -1, and this method was invoked across threads.

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

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

Комментарии

В WPF только поток, создавший объект, DispatcherObject может обращаться к этому объекту.In WPF, 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. Чтобы фоновый поток мог получить доступ к свойству Content объекта 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 start. Однако после запуска операции она будет завершена перед возвратом из этого метода.However, once the operation starts, it will complete before this method returns. Чтобы задать бесконечное ожидание, используйте значение-1.To specify an infinite wait, use a value of -1. При вызове одного потока любое другое отрицательное значение преобразуется в-1, что приводит к бесконечному ожиданию.In a same-thread call, any other negative value is converted to -1, resulting in an infinite wait. При вызове между потоками любое другое отрицательное значение создает исключение ArgumentOutOfRangeException .In a cross-thread call, any other negative value throws an ArgumentOutOfRangeException.

args
Object[]

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

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

Object

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

Исключения

method имеет значение null.method is null.

timeout является отрицательным числом, отличным от-1, и вызывается между потоками.timeout is a negative number other than -1, and you're invoking across threads.

Комментарии

В WPF только поток, создавший объект, DispatcherObject может обращаться к этому объекту.In WPF, 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. Чтобы фоновый поток мог получить доступ к свойству Content объекта 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 won't 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
Public Sub Invoke (callback As Action, priority As DispatcherPriority, cancellationToken As CancellationToken)

Параметры

callback
Action

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

priority
DispatcherPriority

Приоритет, определяющий порядок, в котором заданный обратный вызов вызывается относительно других ожидающих операций в Dispatcher .The priority that determines the order in which 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 that 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);
[<System.ComponentModel.Browsable(false)>]
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 with which the specified method is invoked, relative to the other pending operations in the Dispatcher event queue.

method
Delegate

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

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

Object

Значение, возвращаемое вызываемым делегатом, или 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

Комментарии

В WPF только поток, создавший объект, DispatcherObject может обращаться к этому объекту.In WPF, 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. Чтобы фоновый поток мог получить доступ к свойству Content объекта 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.

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

Object

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

Комментарии

В WPF только поток, создавший объект, DispatcherObject может обращаться к этому объекту.In WPF, 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. Чтобы фоновый поток мог получить доступ к свойству Content объекта 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 the order in which 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 with which the specified method is invoked, relative to the other pending operations in the Dispatcher event queue.

args
Object[]

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

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

Object

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

Комментарии

В WPF только поток, создавший объект, DispatcherObject может обращаться к этому объекту.In WPF, 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. Чтобы фоновый поток мог получить доступ к свойству Content объекта 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 the order in which 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
Public Function Invoke(Of TResult) (callback As Func(Of TResult), priority As DispatcherPriority, cancellationToken As CancellationToken) 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 the order in which 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
Public Function Invoke(Of TResult) (callback As Func(Of TResult), priority As DispatcherPriority, cancellationToken As CancellationToken, timeout As TimeSpan) 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 the order in which 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 maximum amount of time to wait for the operation to start. После запуска операции она будет завершена перед возвратом из метода.Once the operation has started, it will complete before this method returns. Чтобы задать бесконечное ожидание, используйте значение-1.To specify an infinite wait, use a value of -1. При вызове одного потока любое другое отрицательное значение преобразуется в-1, что приводит к бесконечному ожиданию.In a same-thread call, any other negative value is converted to -1, resulting in an infinite wait. При вызове между потоками любое другое отрицательное значение создает исключение ArgumentOutOfRangeException .In a cross-thread call, any other negative value throws an ArgumentOutOfRangeException.

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

TResult

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

Исключения

callback имеет значение null.callback is null.

timeout отрицательное число, отличное от-1, и метод вызывался в потоках.timeout is a negative number other than -1, and the method was invoked across threads.

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

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