내보내기(0) 인쇄
모두 확장

RunWorkerCompletedEventArgs.Result 속성

참고: 이 속성은 .NET Framework 버전 2.0에서 새로 추가되었습니다.

비동기 작업의 결과를 나타내는 값을 가져옵니다.

네임스페이스: System.ComponentModel
어셈블리: System(system.dll)

public Object Result { get; }
/** @property */
public Object get_Result ()

public function get Result () : Object

속성 값

비동기 작업의 결과를 나타내는 Object입니다.

예외 형식조건

TargetInvocationException

Error가 Null 참조(Visual Basic의 경우 Nothing)가 아닌 경우 InnerException 속성에는 Error에 대한 참조가 들어 있습니다.

InvalidOperationException

Cancelledtrue인 경우

RunWorkerCompleted 이벤트 처리기는 Result 속성에 액세스하기 전에 항상 ErrorCancelled 속성을 확인해야 합니다. 예외가 발생하거나 작업이 취소된 경우 Result 속성에 액세스하면 예외가 발생합니다.

다음 코드 예제에서는 RunWorkerCompleted 이벤트를 사용하여 비동기 작업의 결과를 처리하는 방법을 보여 줍니다. 이 코드 예제는 BackgroundWorker 클래스에 대해 제공되는 보다 큰 예제의 일부입니다.

// This event handler deals with the results of the
// background operation.
private void backgroundWorker1_RunWorkerCompleted(
    object sender, RunWorkerCompletedEventArgs e)
{
    // First, handle the case where an exception was thrown.
    if (e.Error != null)
    {
        MessageBox.Show(e.Error.Message);
    }
    else if (e.Cancelled)
    {
        // Next, handle the case where the user canceled 
        // the operation.
        // Note that due to a race condition in 
        // the DoWork event handler, the Cancelled
        // flag may not have been set, even though
        // CancelAsync was called.
        resultLabel.Text = "Canceled";
    }
    else
    {
        // Finally, handle the case where the operation 
        // succeeded.
        resultLabel.Text = e.Result.ToString();
    }

    // Enable the UpDown control.
    this.numericUpDown1.Enabled = true;

    // Enable the Start button.
    startAsyncButton.Enabled = true;

    // Disable the Cancel button.
    cancelAsyncButton.Enabled = false;
}

// This event handler deals with the results of the
// background operation.
private void backgroundWorker1_RunWorkerCompleted(Object sender,
    RunWorkerCompletedEventArgs e)
{
    // First, handle the case where an exception was thrown.
    if (e.get_Error() != null) {
    
        MessageBox.Show(e.get_Error().get_Message());
    }
    else {
    
        if (e.get_Cancelled()) {
        
            // Next, handle the case where the user cancelled 
            // the operation.
            // Note that due to a race condition in 
            // the DoWork event handler, the Cancelled
            // flag may not have been set, even though
            // CancelAsync was called.
            resultLabel.set_Text("Cancelled");
        }
        else {
        
            // Finally, handle the case where the operation 
            // succeeded.
            resultLabel.set_Text(e.get_Result().ToString());
        }
    }

    // Enable the UpDown control.
    this.numericUpDown1.set_Enabled(true);

    // Enable the Start button.
    startAsyncButton.set_Enabled(true);

    // Disable the Cancel button.
    cancelAsyncButton.set_Enabled(false);
} //backgroundWorker1_RunWorkerCompleted

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework에서 모든 플래폼의 모든 버전을 지원하지는 않습니다. 지원되는 버전의 목록은 시스템 요구 사항을 참조하십시오.

.NET Framework

2.0에서 지원

커뮤니티 추가 항목

추가
Microsoft는 MSDN 웹 사이트에 대한 귀하의 의견을 이해하기 위해 온라인 설문 조사를 진행하고 있습니다. 참여하도록 선택하시면 MSDN 웹 사이트에서 나가실 때 온라인 설문 조사가 표시됩니다.

참여하시겠습니까?
표시:
© 2014 Microsoft