다음을 통해 공유


Dispatcher.Invoke 메서드

정의

Dispatcher가 연결된 스레드에서 지정된 대리자를 동기적으로 실행합니다.

오버로드

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

Dispatcher가 연결된 스레드에서 지정된 인수를 사용하여 지정된 우선 순위에 있는 지정된 대리자를 동기적으로 실행합니다.

Invoke(DispatcherPriority, TimeSpan, Delegate, Object)

Dispatcher가 연결된 스레드에서 지정된 인수를 사용하여 지정된 우선 순위에 있는 지정된 대리자를 동기적으로 실행합니다.

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

Dispatcher가 연결된 스레드에서 지정된 인수를 사용하여 지정된 우선 순위에 있는 지정된 대리자를 동기적으로 실행합니다.

Invoke(Action, DispatcherPriority, CancellationToken, TimeSpan)

Action가 연결된 스레드에서 지정된 우선 순위에 있는 지정된 Dispatcher를 동기적으로 실행합니다.

Invoke(DispatcherPriority, TimeSpan, Delegate)

Dispatcher가 만들어진 스레드에서 지정된 제한 시간 값을 사용하여 지정된 우선 순위에 있는 지정된 대리자를 동기적으로 실행합니다.

Invoke(DispatcherPriority, Delegate, Object)

Dispatcher가 연결된 스레드에서 지정된 인수를 사용하여 지정된 우선 순위에 있는 지정된 대리자를 동기적으로 실행합니다.

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

Dispatcher가 연결된 스레드에서 지정된 인수를 사용하여 지정된 우선 순위의 지정된 기간 내에서 지정된 대리자를 동기적으로 실행합니다.

Invoke(Delegate, TimeSpan, Object[])

Dispatcher가 연결된 스레드에서 지정된 인수를 사용하여 지정된 우선 순위의 지정된 기간 내에서 지정된 대리자를 동기적으로 실행합니다.

Invoke(Action, DispatcherPriority, CancellationToken)

Action가 연결된 스레드에서 지정된 우선 순위에 있는 지정된 Dispatcher를 동기적으로 실행합니다.

Invoke(DispatcherPriority, Delegate)

가 연결된 스레드 Dispatcher 에서 지정된 우선 순위에서 지정된 대리자를 동기적으로 실행합니다.

Invoke(Delegate, Object[])

Dispatcher가 연결된 스레드에서 지정된 인수를 사용하여 지정된 대리자를 동기적으로 실행합니다.

Invoke(Action, DispatcherPriority)

Action가 연결된 스레드에서 지정된 우선 순위에 있는 지정된 Dispatcher를 동기적으로 실행합니다.

Invoke(Action)

Action가 연결된 스레드에서 지정된 Dispatcher를 비동기적으로 실행합니다.

Invoke(Delegate, DispatcherPriority, Object[])

Dispatcher가 연결된 스레드에서 지정된 인수를 사용하여 지정된 우선 순위에 있는 지정된 대리자를 동기적으로 실행합니다.

Invoke<TResult>(Func<TResult>)

Func<TResult>가 연결된 스레드에서 지정된 Dispatcher를 비동기적으로 실행합니다.

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

Func<TResult>가 연결된 스레드에서 지정된 우선 순위에 있는 지정된 Dispatcher를 동기적으로 실행합니다.

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

Func<TResult>가 연결된 스레드에서 지정된 우선 순위에 있는 지정된 Dispatcher를 동기적으로 실행합니다.

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

Func<TResult>가 연결된 스레드에서 지정된 우선 순위에 있는 지정된 Dispatcher를 동기적으로 실행합니다.

예제

다음 예제에서는 를 사용하여 에 대리자를 배치합니다 DispatcherNormal.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 액세스할 수 있습니다. 예를 들어 기본 UI 스레드에서 분리된 백그라운드 스레드는 UI 스레드에서 생성된 의 Button 콘텐츠를 업데이트할 수 없습니다. 백그라운드 스레드가 의 ButtonContent 속성에 액세스하려면 백그라운드 스레드가 작업을 Dispatcher UI 스레드와 연결된 에 위임해야 합니다. 이 작업은 또는 를 Invoke 사용하여 수행됩니다 BeginInvoke. Invoke 는 동기적이며 BeginInvoke 비동기입니다. 작업은 지정된 의 이벤트 큐 Dispatcher 에 추가됩니다 DispatcherPriority.

Invoke 는 동기 작업입니다. 따라서 콜백이 반환될 때까지 컨트롤이 호출 개체로 반환되지 않습니다.

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

Dispatcher가 연결된 스레드에서 지정된 인수를 사용하여 지정된 우선 순위에 있는 지정된 대리자를 동기적으로 실행합니다.

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 다른 보류 중인 작업을 기준으로 하는 우선 순위입니다.

timeout
TimeSpan

작업이 시작될 때까지 대기하는 최대 시간입니다. 작업이 시작되면 이 메서드가 반환되기 전에 작업이 완료됩니다. 무한 대기를 지정하려면 -1 값을 사용합니다. 동일한 스레드 호출에서 다른 음수 값은 -1로 변환되어 무한 대기가 발생합니다. 스레드 간 호출에서 다른 음수 값은 을 ArgumentOutOfRangeExceptionthrow합니다.

method
Delegate

인수를 여러 개 사용하는 메서드에 대한 대리자로, Dispatcher 이벤트 큐로 푸시됩니다.

arg
Object

지정된 메서드에 인수로 전달하는 개체입니다.

args
Object[]

지정된 메서드에 인수로 전달하는 개체의 배열입니다.

반환

호출되는 대리자의 반환 값이거나, 대리자에 반환 값이 없는 경우 null입니다.

특성

예외

priority이(가) Inactive와 같은 경우.

priority은 유효한 DispatcherPriority이 아닙니다.

method이(가) null인 경우

timeout 는 -1 이외의 음수이며 이 메서드는 스레드 간에 호출되었습니다.

설명

arg null 는 인수가 필요하지 않은 경우 일 수 있습니다.

WPF에서 를 만든 스레드만 해당 개체에 DispatcherObject 액세스할 수 있습니다. 예를 들어 기본 UI 스레드에서 분리된 백그라운드 스레드는 UI 스레드에서 만든 의 Button 콘텐츠를 업데이트할 수 없습니다. 백그라운드 스레드가 의 ButtonContent 속성에 액세스하려면 백그라운드 스레드가 UI 스레드와 연결된 에 작업을 Dispatcher 위임해야 합니다. 이 작업은 또는 BeginInvokeInvoke 사용하여 수행됩니다. Invoke 는 동기적이며 BeginInvoke 비동기입니다. 작업은 지정된 의 이벤트 큐 Dispatcher 에 추가됩니다 DispatcherPriority.

Invoke 는 동기 작업입니다. 따라서 콜백이 반환될 때까지 컨트롤이 호출 개체로 반환되지 않습니다.

적용 대상

Invoke(DispatcherPriority, TimeSpan, Delegate, Object)

Dispatcher가 연결된 스레드에서 지정된 인수를 사용하여 지정된 우선 순위에 있는 지정된 대리자를 동기적으로 실행합니다.

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 다른 보류 중인 작업을 기준으로 하는 우선 순위입니다.

timeout
TimeSpan

작업이 시작될 때까지 대기하는 최대 시간입니다. 작업이 시작되면 이 메서드가 반환되기 전에 작업이 완료됩니다. 무한 대기를 지정하려면 -1 값을 사용합니다. 동일한 스레드 호출에서 다른 음수 값은 -1로 변환되어 무한 대기가 발생합니다. 스레드 간 호출에서 다른 음수 값은 을 ArgumentOutOfRangeExceptionthrow합니다.

method
Delegate

인수를 여러 개 사용하는 메서드에 대한 대리자로, Dispatcher 이벤트 큐로 푸시됩니다.

arg
Object

지정된 메서드에 인수로 전달하는 개체입니다. 인수가 필요하지 않으면 null일 수 있습니다.

반환

호출되는 대리자의 반환 값이거나, 대리자에 반환 값이 없는 경우 null입니다.

특성

예외

priority이(가) Inactive와 같은 경우.

priority가 올바른 속성이 아닌 경우

method이(가) null인 경우

설명

arg 는 인수가 필요하지 않은 경우 일 null 수 있습니다.

WPF에서 를 만든 스레드만 해당 개체에 DispatcherObject 액세스할 수 있습니다. 예를 들어 기본 UI 스레드에서 분리된 백그라운드 스레드는 UI 스레드에서 만든 의 Button 콘텐츠를 업데이트할 수 없습니다. 백그라운드 스레드가 의 ButtonContent 속성에 액세스하려면 백그라운드 스레드가 UI 스레드와 연결된 에 작업을 Dispatcher 위임해야 합니다. 이 작업은 또는 BeginInvokeInvoke 사용하여 수행됩니다. Invoke 는 동기적이며 BeginInvoke 비동기입니다. 작업은 지정된 의 이벤트 큐 Dispatcher 에 추가됩니다 DispatcherPriority.

Invoke 는 동기 작업입니다. 따라서 콜백이 반환될 때까지 컨트롤이 호출 개체로 반환되지 않습니다.

적용 대상

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

Dispatcher가 연결된 스레드에서 지정된 인수를 사용하여 지정된 우선 순위에 있는 지정된 대리자를 동기적으로 실행합니다.

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 다른 보류 중인 작업을 기준으로 하는 우선 순위입니다.

method
Delegate

인수를 여러 개 사용하는 메서드에 대한 대리자로, Dispatcher 이벤트 큐로 푸시됩니다.

arg
Object

지정된 메서드에 인수로 전달하는 개체입니다.

args
Object[]

주어진 메서드에 인수로 전달하는 개체의 배열입니다.

반환

호출되는 대리자의 반환 값이거나, 대리자에 반환 값이 없는 경우 null입니다.

특성

예외

priority이(가) Inactive와 같은 경우.

priority가 올바른 속성이 아닌 경우

method이(가) null인 경우

설명

arg 는 인수가 필요하지 않은 경우 일 null 수 있습니다.

WPF에서 를 만든 스레드만 해당 개체에 DispatcherObject 액세스할 수 있습니다. 예를 들어 기본 UI 스레드에서 분리된 백그라운드 스레드는 UI 스레드에서 만든 의 Button 콘텐츠를 업데이트할 수 없습니다. 백그라운드 스레드가 의 ButtonContent 속성에 액세스하려면 백그라운드 스레드가 UI 스레드와 연결된 에 작업을 Dispatcher 위임해야 합니다. 이 작업은 또는 BeginInvokeInvoke 사용하여 수행됩니다. Invoke 는 동기적이며 BeginInvoke 비동기입니다. 작업은 지정된 의 이벤트 큐 Dispatcher 에 추가됩니다 DispatcherPriority.

Invoke 는 동기 작업입니다. 따라서 콜백이 반환될 때까지 컨트롤이 호출 개체로 반환되지 않습니다.

적용 대상

Invoke(Action, DispatcherPriority, CancellationToken, TimeSpan)

Action가 연결된 스레드에서 지정된 우선 순위에 있는 지정된 Dispatcher를 동기적으로 실행합니다.

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

디스패처를 통해 호출할 작업 대리자입니다.

priority
DispatcherPriority

의 다른 보류 중인 작업을 Dispatcher기준으로 지정된 콜백이 호출되는 순서를 결정하는 우선 순위입니다.

cancellationToken
CancellationToken

동작을 취소할지 여부를 나타내는 개체입니다.

timeout
TimeSpan

작업이 시작될 때까지 대기하는 최대 시간입니다. 작업이 시작되면 이 메서드가 반환되기 전에 작업이 완료됩니다. 무한 대기를 지정하려면 -1 값을 사용합니다. 동일한 스레드 호출에서 다른 음수 값은 -1로 변환되어 무한 대기가 발생합니다. 스레드 간 호출에서 다른 음수 값은 을 ArgumentOutOfRangeExceptionthrow합니다.

예외

callback이(가) null인 경우

timeout 는 -1 이외의 음수이며 이 메서드는 스레드 간에 호출되었습니다.

priority가 올바른 속성이 아닌 경우

취소 토큰이 취소되었습니다. 이 예외는 반환된 작업에 저장됩니다.

적용 대상

Invoke(DispatcherPriority, TimeSpan, Delegate)

Dispatcher가 만들어진 스레드에서 지정된 제한 시간 값을 사용하여 지정된 우선 순위에 있는 지정된 대리자를 동기적으로 실행합니다.

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 다른 보류 중인 작업을 기준으로 하는 우선 순위입니다.

timeout
TimeSpan

작업이 시작될 때까지 대기하는 최대 시간입니다. 작업이 시작되면 이 메서드가 반환되기 전에 작업이 완료됩니다. 무한 대기를 지정하려면 -1 값을 사용합니다. 동일한 스레드 호출에서 다른 음수 값은 -1로 변환되어 무한 대기가 발생합니다. 스레드 간 호출에서 다른 음수 값은 을 ArgumentOutOfRangeExceptionthrow합니다.

method
Delegate

인수가 없는 메서드에 대한 대리자로, Dispatcher 이벤트 큐로 푸시됩니다.

반환

호출되는 대리자의 반환 값이거나, 대리자에 반환 값이 없는 경우 null입니다.

특성

예외

method이(가) null인 경우

timeout 는 -1 이외의 음수이며 이 메서드는 스레드 간에 호출되었습니다.

priority이(가) Inactive와 같은 경우.

priority가 올바른 속성이 아닌 경우

설명

WPF에서 를 만든 스레드만 해당 개체에 DispatcherObject 액세스할 수 있습니다. 예를 들어 기본 UI 스레드에서 분리된 백그라운드 스레드는 UI 스레드에서 만든 의 Button 콘텐츠를 업데이트할 수 없습니다. 백그라운드 스레드가 의 ButtonContent 속성에 액세스하려면 백그라운드 스레드가 UI 스레드와 연결된 에 작업을 Dispatcher 위임해야 합니다. 이 작업은 또는 BeginInvokeInvoke 사용하여 수행됩니다. Invoke 는 동기적이며 BeginInvoke 비동기입니다. 작업은 지정된 의 이벤트 큐 Dispatcher 에 추가됩니다 DispatcherPriority.

Invoke 는 동기 작업입니다. 따라서 콜백이 반환될 때까지 컨트롤이 호출 개체로 반환되지 않습니다.

적용 대상

Invoke(DispatcherPriority, Delegate, Object)

Dispatcher가 연결된 스레드에서 지정된 인수를 사용하여 지정된 우선 순위에 있는 지정된 대리자를 동기적으로 실행합니다.

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 다른 보류 중인 작업을 기준으로 하는 우선 순위입니다.

method
Delegate

인수를 하나 사용하는 메서드에 대한 대리자로, Dispatcher 이벤트 큐로 푸시됩니다.

arg
Object

지정된 메서드에 인수로 전달하는 개체입니다.

반환

호출되는 대리자의 반환 값이거나, 대리자에 반환 값이 없는 경우 null입니다.

특성

예외

priority이(가) Inactive와 같은 경우.

priority가 올바른 속성이 아닌 경우

method이(가) null인 경우

설명

arg 는 인수가 필요하지 않은 경우 일 null 수 있습니다.

WPF에서 를 만든 스레드만 해당 개체에 DispatcherObject 액세스할 수 있습니다. 예를 들어 기본 UI 스레드에서 분리된 백그라운드 스레드는 UI 스레드에서 만든 의 Button 콘텐츠를 업데이트할 수 없습니다. 백그라운드 스레드가 의 ButtonContent 속성에 액세스하려면 백그라운드 스레드가 UI 스레드와 연결된 에 작업을 Dispatcher 위임해야 합니다. 이 작업은 또는 BeginInvokeInvoke 사용하여 수행됩니다. Invoke 는 동기적이며 BeginInvoke 비동기입니다. 작업은 지정된 의 이벤트 큐 Dispatcher 에 추가됩니다 DispatcherPriority.

Invoke 는 동기 작업입니다. 따라서 콜백이 반환될 때까지 컨트롤이 호출 개체로 반환되지 않습니다.

적용 대상

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

Dispatcher가 연결된 스레드에서 지정된 인수를 사용하여 지정된 우선 순위의 지정된 기간 내에서 지정된 대리자를 동기적으로 실행합니다.

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 이벤트 큐로 푸시됩니다.

timeout
TimeSpan

작업이 시작될 때까지 대기하는 최대 시간입니다. 작업이 시작되면 이 메서드가 반환되기 전에 작업이 완료됩니다. 무한 대기를 지정하려면 -1 값을 사용합니다. 동일한 스레드 호출에서 다른 음수 값은 -1로 변환되어 무한 대기가 발생합니다. 스레드 간 호출에서 다른 음수 값은 을 ArgumentOutOfRangeExceptionthrow합니다.

priority
DispatcherPriority

지정된 메서드가 호출되는 이벤트 큐의 Dispatcher 다른 보류 중인 작업을 기준으로 하는 우선 순위입니다.

args
Object[]

주어진 메서드에 인수로 전달하는 개체의 배열입니다. null일 수 있습니다.

반환

호출되는 대리자의 반환 값이거나, 대리자에 반환 값이 없는 경우 null입니다.

예외

method이(가) null인 경우

timeout 는 -1 이외의 음수이며 이 메서드는 스레드 간에 호출되었습니다.

priority이(가) Inactive와 같은 경우.

priority가 올바른 속성이 아닌 경우

설명

WPF에서 를 만든 스레드만 해당 개체에 DispatcherObject 액세스할 수 있습니다. 예를 들어 기본 UI 스레드에서 분리된 백그라운드 스레드는 UI 스레드에서 만든 의 Button 콘텐츠를 업데이트할 수 없습니다. 백그라운드 스레드가 의 ButtonContent 속성에 액세스하려면 백그라운드 스레드가 UI 스레드와 연결된 에 작업을 Dispatcher 위임해야 합니다. 이 작업은 또는 BeginInvokeInvoke 사용하여 수행됩니다. Invoke 는 동기적이며 BeginInvoke 비동기입니다. 작업은 지정된 의 이벤트 큐 Dispatcher 에 추가됩니다 DispatcherPriority.

Invoke 는 동기 작업입니다. 따라서 콜백이 반환될 때까지 컨트롤이 호출 개체로 반환되지 않습니다.

적용 대상

Invoke(Delegate, TimeSpan, Object[])

Dispatcher가 연결된 스레드에서 지정된 인수를 사용하여 지정된 우선 순위의 지정된 기간 내에서 지정된 대리자를 동기적으로 실행합니다.

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 이벤트 큐로 푸시됩니다.

timeout
TimeSpan

작업이 시작될 때까지 대기하는 최대 시간입니다. 그러나 작업이 시작되면 이 메서드가 반환되기 전에 완료됩니다. 무한 대기를 지정하려면 -1 값을 사용합니다. 동일한 스레드 호출에서 다른 음수 값은 -1로 변환되어 무한 대기가 발생합니다. 스레드 간 호출에서 다른 음수 값은 을 ArgumentOutOfRangeExceptionthrow합니다.

args
Object[]

주어진 메서드에 인수로 전달하는 개체의 배열입니다. 인수가 필요하지 않은 경우 일 null 수 있습니다.

반환

호출되는 대리자의 반환 값이거나, 대리자에 반환 값이 없는 경우 null입니다.

예외

method이(가) null인 경우

timeout 는 -1 이외의 음수이며 스레드 간에 호출합니다.

설명

WPF에서 를 만든 스레드만 해당 개체에 DispatcherObject 액세스할 수 있습니다. 예를 들어 기본 UI 스레드에서 분리된 백그라운드 스레드는 UI 스레드에서 만든 의 Button 콘텐츠를 업데이트할 수 없습니다. 백그라운드 스레드가 의 ButtonContent 속성에 액세스하려면 백그라운드 스레드가 UI 스레드와 연결된 에 작업을 Dispatcher 위임해야 합니다. 이 작업은 또는 BeginInvokeInvoke 사용하여 수행됩니다. Invoke 는 동기적이며 BeginInvoke 비동기입니다. 작업은 지정된 의 이벤트 큐 Dispatcher 에 추가됩니다 DispatcherPriority.

Invoke 는 동기 작업입니다. 따라서 콜백이 반환될 때까지 컨트롤이 호출 개체로 반환되지 않습니다.

적용 대상

Invoke(Action, DispatcherPriority, CancellationToken)

Action가 연결된 스레드에서 지정된 우선 순위에 있는 지정된 Dispatcher를 동기적으로 실행합니다.

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

디스패처를 통해 호출할 대리자입니다.

priority
DispatcherPriority

의 다른 보류 중인 작업을 Dispatcher기준으로 지정된 콜백이 호출되는 순서를 결정하는 우선 순위입니다.

cancellationToken
CancellationToken

동작을 취소할지 여부를 나타내는 개체입니다.

예외

취소 토큰이 취소되었습니다. 이 예외는 반환된 작업에 저장됩니다.

적용 대상

Invoke(DispatcherPriority, Delegate)

가 연결된 스레드 Dispatcher 에서 지정된 우선 순위에 따라 지정된 대리자를 동기적으로 실행합니다.

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 기준으로 지정된 메서드가 호출되는 우선 순위입니다.

method
Delegate

인수가 없는 메서드에 대한 대리자로, Dispatcher 이벤트 큐로 푸시됩니다.

반환

호출되는 대리자의 반환 값이거나, 대리자에 반환 값이 없는 경우 null입니다.

특성

예외

priority이(가) Inactive와 같은 경우.

priority가 올바른 속성이 아닌 경우

method이(가) null인 경우

예제

다음 예제에서는 를 사용하여 InvokeNormal 대리자를 Dispatcher 배치합니다.

// 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 액세스할 수 있습니다. 예를 들어 기본 UI 스레드에서 분리된 백그라운드 스레드는 UI 스레드에서 생성된 의 Button 콘텐츠를 업데이트할 수 없습니다. 백그라운드 스레드가 의 ButtonContent 속성에 액세스하려면 백그라운드 스레드가 작업을 Dispatcher UI 스레드와 연결된 에 위임해야 합니다. 이 작업은 또는 를 Invoke 사용하여 수행됩니다 BeginInvoke. Invoke 는 동기적이며 BeginInvoke 비동기입니다. 작업은 지정된 의 이벤트 큐 Dispatcher 에 추가됩니다 DispatcherPriority.

Invoke 는 동기 작업입니다. 따라서 콜백이 반환될 때까지 컨트롤이 호출 개체로 반환되지 않습니다.

적용 대상

Invoke(Delegate, Object[])

Dispatcher가 연결된 스레드에서 지정된 인수를 사용하여 지정된 대리자를 동기적으로 실행합니다.

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 이벤트 큐로 푸시됩니다.

args
Object[]

주어진 메서드에 인수로 전달하는 개체의 배열입니다. null일 수 있습니다.

반환

호출되는 대리자의 반환 값이거나, 대리자에 반환 값이 없는 경우 null입니다.

설명

WPF에서 를 만든 스레드만 해당 개체에 DispatcherObject 액세스할 수 있습니다. 예를 들어 기본 UI 스레드에서 분리된 백그라운드 스레드는 UI 스레드에서 생성된 의 Button 콘텐츠를 업데이트할 수 없습니다. 백그라운드 스레드가 의 ButtonContent 속성에 액세스하려면 백그라운드 스레드가 작업을 Dispatcher UI 스레드와 연결된 에 위임해야 합니다. 이 작업은 또는 를 Invoke 사용하여 수행됩니다 BeginInvoke. Invoke 는 동기적이며 BeginInvoke 비동기입니다. 작업은 지정된 의 이벤트 큐 Dispatcher 에 추가됩니다 DispatcherPriority.

Invoke 는 동기 작업입니다. 따라서 콜백이 반환될 때까지 컨트롤이 호출 개체로 반환되지 않습니다.

적용 대상

Invoke(Action, DispatcherPriority)

Action가 연결된 스레드에서 지정된 우선 순위에 있는 지정된 Dispatcher를 동기적으로 실행합니다.

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

디스패처를 통해 호출할 대리자입니다.

priority
DispatcherPriority

의 다른 보류 중인 작업을 Dispatcher기준으로 지정된 콜백이 호출되는 순서를 결정하는 우선 순위입니다.

적용 대상

Invoke(Action)

Action가 연결된 스레드에서 지정된 Dispatcher를 비동기적으로 실행합니다.

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

매개 변수

callback
Action

디스패처를 통해 호출할 대리자입니다.

설명

기본 우선 순위는 입니다 DispatcherPriority.Send.

적용 대상

Invoke(Delegate, DispatcherPriority, Object[])

Dispatcher가 연결된 스레드에서 지정된 인수를 사용하여 지정된 우선 순위에 있는 지정된 대리자를 동기적으로 실행합니다.

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 이벤트 큐로 푸시됩니다.

priority
DispatcherPriority

이벤트 큐의 다른 보류 중인 작업을 Dispatcher 기준으로 지정된 메서드가 호출되는 우선 순위입니다.

args
Object[]

주어진 메서드에 인수로 전달하는 개체의 배열입니다. null일 수 있습니다.

반환

호출되는 대리자의 반환 값이거나, 대리자에 반환 값이 없는 경우 null입니다.

설명

WPF에서 를 만든 스레드만 해당 개체에 DispatcherObject 액세스할 수 있습니다. 예를 들어 기본 UI 스레드에서 분리된 백그라운드 스레드는 UI 스레드에서 생성된 의 Button 콘텐츠를 업데이트할 수 없습니다. 백그라운드 스레드가 의 ButtonContent 속성에 액세스하려면 백그라운드 스레드가 작업을 Dispatcher UI 스레드와 연결된 에 위임해야 합니다. 이 작업은 또는 를 Invoke 사용하여 수행됩니다 BeginInvoke. Invoke 는 동기적이며 BeginInvoke 비동기입니다. 작업은 지정된 의 이벤트 큐 Dispatcher 에 추가됩니다 DispatcherPriority.

Invoke 는 동기 작업입니다. 따라서 콜백이 반환될 때까지 컨트롤이 호출 개체로 반환되지 않습니다.

적용 대상

Invoke<TResult>(Func<TResult>)

Func<TResult>가 연결된 스레드에서 지정된 Dispatcher를 비동기적으로 실행합니다.

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

지정된 대리자의 반환 값 형식입니다.

매개 변수

callback
Func<TResult>

디스패처를 통해 호출할 대리자입니다.

반환

TResult

callback에서 반환된 값입니다.

적용 대상

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

Func<TResult>가 연결된 스레드에서 지정된 우선 순위에 있는 지정된 Dispatcher를 동기적으로 실행합니다.

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

지정된 대리자의 반환 값 형식입니다.

매개 변수

callback
Func<TResult>

디스패처를 통해 호출할 대리자입니다.

priority
DispatcherPriority

의 다른 보류 중인 작업을 Dispatcher기준으로 지정된 콜백이 호출되는 순서를 결정하는 우선 순위입니다.

반환

TResult

callback에서 반환된 값입니다.

적용 대상

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

Func<TResult>가 연결된 스레드에서 지정된 우선 순위에 있는 지정된 Dispatcher를 동기적으로 실행합니다.

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

지정된 대리자의 반환 값 형식입니다.

매개 변수

callback
Func<TResult>

디스패처를 통해 호출할 대리자입니다.

priority
DispatcherPriority

의 다른 보류 중인 작업을 Dispatcher기준으로 지정된 콜백이 호출되는 순서를 결정하는 우선 순위입니다.

cancellationToken
CancellationToken

작업을 취소할지 여부를 나타내는 개체입니다.

반환

TResult

callback에서 반환된 값입니다.

예외

취소 토큰이 취소되었습니다. 이 예외는 반환된 작업에 저장됩니다.

적용 대상

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

Func<TResult>가 연결된 스레드에서 지정된 우선 순위에 있는 지정된 Dispatcher를 동기적으로 실행합니다.

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

지정된 대리자의 반환 값 형식입니다.

매개 변수

callback
Func<TResult>

디스패처를 통해 호출할 대리자입니다.

priority
DispatcherPriority

의 다른 보류 중인 작업을 Dispatcher기준으로 지정된 콜백이 호출되는 순서를 결정하는 우선 순위입니다.

cancellationToken
CancellationToken

작업을 취소할지 여부를 나타내는 개체입니다.

timeout
TimeSpan

작업이 시작될 때까지 대기할 최대 시간입니다. 작업이 시작되면 이 메서드가 반환되기 전에 완료됩니다. 무한 대기를 지정하려면 -1 값을 사용합니다. 동일한 스레드 호출에서 다른 음수 값은 -1로 변환되어 무한 대기가 발생합니다. 스레드 간 호출에서 다른 음수 값은 을 ArgumentOutOfRangeExceptionthrow합니다.

반환

TResult

callback에서 반환된 값입니다.

예외

callback이(가) null인 경우

timeout 는 -1 이외의 음수이며 메서드는 스레드 간에 호출되었습니다.

priority가 올바른 속성이 아닌 경우

취소 토큰이 취소되었습니다. 이 예외는 반환된 작업에 저장됩니다.

적용 대상