다음을 통해 공유


TaskToAsyncResult.Begin(Task, AsyncCallback, Object) 메서드

정의

지정된 Task에서 새 IAsyncResult 를 만들고, 필요에 따라 작업이 완료될 때 를 호출합니다callback.

public:
 static IAsyncResult ^ Begin(System::Threading::Tasks::Task ^ task, AsyncCallback ^ callback, System::Object ^ state);
public static IAsyncResult Begin (System.Threading.Tasks.Task task, AsyncCallback? callback, object? state);
static member Begin : System.Threading.Tasks.Task * AsyncCallback * obj -> IAsyncResult
Public Shared Function Begin (task As Task, callback As AsyncCallback, state As Object) As IAsyncResult

매개 변수

task
Task

Task 에 래핑할 입니다IAsyncResult.

callback
AsyncCallback

의 완료 시 task호출할 콜백입니다. 이면 null콜백이 호출되지 않습니다.

state
Object

IAsyncResult저장할 상태입니다.

반환

IAsyncResult 작업의 비동기 작업을 나타내는 입니다. 이 instance 호출될 때에도 callback 전달됩니다.

예외

tasknull입니다.

설명

또는 End<TResult>(IAsyncResult) 메서드와 함께 End(IAsyncResult) 이 메서드를 사용하여 Begin/End 패턴(비동기 프로그래밍 모델 패턴 또는 APM이라고도 함)을 구현할 수 있습니다. 이 패턴을 새 코드에 노출하지 않는 것이 좋습니다. 의 메서드는 이러한 Begin/End 메서드를 노출해야 하는 경우(예: 기본 클래스가 패턴에 TaskToAsyncResult 대한 가상 메서드를 제공하거나 이미 노출되어 호환성을 위해 남아 있어야 하는 경우) 구현하는 데만 도움이 됩니다. 이러한 메서드를 사용하면 를 통해 Task모든 핵심 비동기 논리를 구현한 다음, 해당 기능을 중심으로 Begin/End 메서드를 쉽게 구현할 수 있습니다.

적용 대상