Dispatcher.Invoke 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
연결된 스레드 Dispatcher 에서 지정된 대리자를 동기적으로 실행합니다.
오버로드
예제
다음 예제에서는 at using에 대리자를 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 업데이트할 수 없습니다. 백그라운드 스레드가 Content 속성에 Button액세스하려면 백그라운드 스레드가 UI 스레드와 연결된 작업에 작업을 Dispatcher 위임해야 합니다. 이 작업은 둘 중 하나 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로 변환되어 무한 대기가 발생합니다. 스레드 간 호출에서 다른 음수 값은 을 throw합니다 ArgumentOutOfRangeException.
- method
- Delegate
이벤트 큐에 푸시되는 여러 인수를 사용하는 메서드에 대한 대리자 Dispatcher 입니다.
- arg
- Object
지정된 메서드에 인수로 전달할 개체입니다.
- args
- Object[]
지정된 메서드에 인수로 전달할 개체의 배열입니다.
반품
호출되는 대리자의 반환 값이거나 null 대리자의 반환 값이 없는 경우입니다.
- 특성
예외
priority가 같음 Inactive
priority 유효한 DispatcherPriority아닙니다.
method은 null입니다.
timeout 가 -1이 아닌 음수이고 이 메서드는 스레드 간에 호출되었습니다.
설명
arg
null 는 인수가 필요하지 않은 경우일 수 있습니다.
WPF에서 만든 스레드만 해당 개체에 DispatcherObject 액세스할 수 있습니다. 예를 들어 기본 UI 스레드에서 분리된 백그라운드 스레드는 UI 스레드에서 만든 내용을 Button 업데이트할 수 없습니다. 백그라운드 스레드가 Content 속성에 Button액세스하려면 백그라운드 스레드가 UI 스레드와 연결된 작업에 작업을 Dispatcher 위임해야 합니다. 이 작업은 둘 중 하나 Invoke 또는 BeginInvoke.를 사용하여 수행됩니다. 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로 변환되어 무한 대기가 발생합니다. 스레드 간 호출에서 다른 음수 값은 을 throw합니다 ArgumentOutOfRangeException.
- method
- Delegate
이벤트 큐에 푸시되는 여러 인수를 사용하는 메서드에 대한 대리자 Dispatcher 입니다.
- arg
- Object
지정된 메서드에 인수로 전달할 개체입니다. 인수가 null 필요하지 않은 경우일 수 있습니다.
반품
호출되는 대리자의 반환 값이거나 null 대리자의 반환 값이 없는 경우입니다.
- 특성
예외
priority가 같음 Inactive
priority 가 유효한 우선 순위가 아닙니다.
method은 null입니다.
설명
arg 는 인수가 필요하지 않은 경우일 null 수 있습니다.
WPF에서 만든 스레드만 해당 개체에 DispatcherObject 액세스할 수 있습니다. 예를 들어 기본 UI 스레드에서 분리된 백그라운드 스레드는 UI 스레드에서 만든 내용을 Button 업데이트할 수 없습니다. 백그라운드 스레드가 Content 속성에 Button액세스하려면 백그라운드 스레드가 UI 스레드와 연결된 작업에 작업을 Dispatcher 위임해야 합니다. 이 작업은 둘 중 하나 Invoke 또는 BeginInvoke.를 사용하여 수행됩니다. 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 업데이트할 수 없습니다. 백그라운드 스레드가 Content 속성에 Button액세스하려면 백그라운드 스레드가 UI 스레드와 연결된 작업에 작업을 Dispatcher 위임해야 합니다. 이 작업은 둘 중 하나 Invoke 또는 BeginInvoke.를 사용하여 수행됩니다. 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로 변환되어 무한 대기가 발생합니다. 스레드 간 호출에서 다른 음수 값은 을 throw합니다 ArgumentOutOfRangeException.
예외
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로 변환되어 무한 대기가 발생합니다. 스레드 간 호출에서 다른 음수 값은 을 throw합니다 ArgumentOutOfRangeException.
- method
- Delegate
이벤트 큐에 푸시되는 인수를 사용하지 않는 메서드의 Dispatcher 대리자입니다.
반품
호출되는 대리자의 반환 값이거나 null 대리자의 반환 값이 없는 경우입니다.
- 특성
예외
method은 null입니다.
timeout 가 -1이 아닌 음수이고 이 메서드는 스레드 간에 호출되었습니다.
priority가 같음 Inactive
priority 가 유효한 우선 순위가 아닙니다.
설명
WPF에서 만든 스레드만 해당 개체에 DispatcherObject 액세스할 수 있습니다. 예를 들어 기본 UI 스레드에서 분리된 백그라운드 스레드는 UI 스레드에서 만든 내용을 Button 업데이트할 수 없습니다. 백그라운드 스레드가 Content 속성에 Button액세스하려면 백그라운드 스레드가 UI 스레드와 연결된 작업에 작업을 Dispatcher 위임해야 합니다. 이 작업은 둘 중 하나 Invoke 또는 BeginInvoke.를 사용하여 수행됩니다. 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 업데이트할 수 없습니다. 백그라운드 스레드가 Content 속성에 Button액세스하려면 백그라운드 스레드가 UI 스레드와 연결된 작업에 작업을 Dispatcher 위임해야 합니다. 이 작업은 둘 중 하나 Invoke 또는 BeginInvoke.를 사용하여 수행됩니다. 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로 변환되어 무한 대기가 발생합니다. 스레드 간 호출에서 다른 음수 값은 을 throw합니다 ArgumentOutOfRangeException.
- priority
- DispatcherPriority
지정된 메서드가 호출되는 이벤트 큐의 Dispatcher 다른 보류 중인 작업을 기준으로 하는 우선 순위입니다.
- args
- Object[]
지정된 메서드에 인수로 전달할 개체의 배열입니다.
null일 수 있습니다.
반품
호출되는 대리자의 반환 값이거나 null 대리자의 반환 값이 없는 경우입니다.
예외
method은 null입니다.
timeout 가 -1이 아닌 음수이고 이 메서드는 스레드 간에 호출되었습니다.
priority가 같음 Inactive
priority 가 유효한 우선 순위가 아닙니다.
설명
WPF에서 만든 스레드만 해당 개체에 DispatcherObject 액세스할 수 있습니다. 예를 들어 기본 UI 스레드에서 분리된 백그라운드 스레드는 UI 스레드에서 만든 내용을 Button 업데이트할 수 없습니다. 백그라운드 스레드가 Content 속성에 Button액세스하려면 백그라운드 스레드가 UI 스레드와 연결된 작업에 작업을 Dispatcher 위임해야 합니다. 이 작업은 둘 중 하나 Invoke 또는 BeginInvoke.를 사용하여 수행됩니다. 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로 변환되어 무한 대기가 발생합니다. 스레드 간 호출에서 다른 음수 값은 을 throw합니다 ArgumentOutOfRangeException.
- args
- Object[]
지정된 메서드에 인수로 전달할 개체의 배열입니다. 인수가 필요하지 않은 경우일 null 수 있습니다.
반품
호출되는 대리자의 반환 값이거나 null 대리자의 반환 값이 없는 경우입니다.
예외
method은 null입니다.
timeout 는 -1이 아닌 음수이며 스레드 간에 호출합니다.
설명
WPF에서 만든 스레드만 해당 개체에 DispatcherObject 액세스할 수 있습니다. 예를 들어 기본 UI 스레드에서 분리된 백그라운드 스레드는 UI 스레드에서 만든 내용을 Button 업데이트할 수 없습니다. 백그라운드 스레드가 Content 속성에 Button액세스하려면 백그라운드 스레드가 UI 스레드와 연결된 작업에 작업을 Dispatcher 위임해야 합니다. 이 작업은 둘 중 하나 Invoke 또는 BeginInvoke.를 사용하여 수행됩니다. 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입니다.
예제
다음 예제에서는 at using에 대리자를 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 업데이트할 수 없습니다. 백그라운드 스레드가 Content 속성에 Button액세스하려면 백그라운드 스레드가 UI 스레드와 연결된 작업에 작업을 Dispatcher 위임해야 합니다. 이 작업은 둘 중 하나 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 업데이트할 수 없습니다. 백그라운드 스레드가 Content 속성에 Button액세스하려면 백그라운드 스레드가 UI 스레드와 연결된 작업에 작업을 Dispatcher 위임해야 합니다. 이 작업은 둘 중 하나 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 업데이트할 수 없습니다. 백그라운드 스레드가 Content 속성에 Button액세스하려면 백그라운드 스레드가 UI 스레드와 연결된 작업에 작업을 Dispatcher 위임해야 합니다. 이 작업은 둘 중 하나 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>
디스패처를 통해 호출할 대리자입니다.
반품
에서 반환하는 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기준으로 지정된 콜백이 호출되는 순서를 결정하는 우선 순위입니다.
반품
에서 반환하는 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
작업을 취소할지 여부를 나타내는 개체입니다.
반품
에서 반환하는 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로 변환되어 무한 대기가 발생합니다. 스레드 간 호출에서 다른 음수 값은 을 throw합니다 ArgumentOutOfRangeException.
반품
에서 반환하는 callback값입니다.
예외
callback은 null입니다.
timeout 가 -1이 아닌 음수이고 메서드가 스레드 간에 호출되었습니다.
priority 가 유효한 우선 순위가 아닙니다.
취소 토큰이 취소되었습니다. 이 예외는 반환된 작업에 저장됩니다.