Nota: esta propiedad es nueva en la versión 2.0 de .NET Framework.
Obtiene un valor que representa el resultado de una operación asincrónica.
Espacio de nombres: System.ComponentModel
Ensamblado: System (en system.dll)
Visual Basic (Declaración)
Public ReadOnly Property Result As Object
Dim instance As RunWorkerCompletedEventArgs
Dim value As Object
value = instance.Result
public Object Result { get; }
public:
property Object^ Result {
Object^ get ();
}
/** @property */
public Object get_Result ()
public function get Result () : Object
Valor de propiedad
Objeto Object que representa el resultado de una operación asincrónica.
El controlador de eventos RunWorkerCompleted debe comprobar siempre las propiedades Error y Cancelled antes de obtener acceso a la propiedad Result. Si se ha producido una excepción o si se ha cancelado la operación, el acceso a la propiedad Result provoca una excepción.
En el ejemplo de código siguiente se muestra el uso del evento RunWorkerCompleted para controlar el resultado de una operación asincrónica. Este ejemplo de código forma parte de un ejemplo más extenso referente a la clase BackgroundWorker.
' This event handler deals with the results of the
' background operation.
Private Sub backgroundWorker1_RunWorkerCompleted( _
ByVal sender As Object, ByVal e As RunWorkerCompletedEventArgs) _
Handles backgroundWorker1.RunWorkerCompleted
' First, handle the case where an exception was thrown.
If Not (e.Error Is Nothing) Then
MessageBox.Show(e.Error.Message)
ElseIf e.Cancelled Then
' 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()
End If
' Enable the UpDown control.
Me.numericUpDown1.Enabled = True
' Enable the Start button.
startAsyncButton.Enabled = True
' Disable the Cancel button.
cancelAsyncButton.Enabled = False
End Sub 'backgroundWorker1_RunWorkerCompleted
// 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.
void backgroundWorker1_RunWorkerCompleted( Object^ /*sender*/, RunWorkerCompletedEventArgs^ e )
{
// First, handle the case where an exception was thrown.
if ( e->Error != nullptr )
{
MessageBox::Show( e->Error->Message );
}
else
if ( e->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->Text = "Cancelled";
}
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, Windows Server 2003, Windows XP Media Center, Windows XP Professional x64, Windows XP SP2, Windows XP Starter Edition
.NET Framework no admite todas las versiones de cada plataforma. Para obtener una lista de las versiones admitidas, vea Requisitos del sistema.
.NET Framework
Compatible con: 2.0