AsyncCompletedEventArgs.RaiseExceptionIfNecessary Yöntem

Tanım

Zaman uyumsuz bir işlem başarısız olursa kullanıcı tarafından sağlanan bir özel durum oluşturur.

protected:
 void RaiseExceptionIfNecessary();
protected void RaiseExceptionIfNecessary();
member this.RaiseExceptionIfNecessary : unit -> unit
Protected Sub RaiseExceptionIfNecessary ()

Özel durumlar

Error özelliği zaman uyumsuz işlem tarafından ayarlandı. özelliği için InnerException bir başvuru barındırmaktadır Error.

Örnekler

Aşağıdaki kod örneği türetilmiş sınıf özelliklerinde kullanmayı RaiseExceptionIfNecessary gösterir.

public class CalculatePrimeCompletedEventArgs :
    AsyncCompletedEventArgs
{
    readonly int numberToTestValue;
    readonly int firstDivisorValue = 1;
    readonly bool isPrimeValue;

    public CalculatePrimeCompletedEventArgs(
        int numberToTest,
        int firstDivisor,
        bool isPrime,
        Exception e,
        bool canceled,
        object state) : base(e, canceled, state)
    {
        numberToTestValue = numberToTest;
        firstDivisorValue = firstDivisor;
        isPrimeValue = isPrime;
    }

    public int NumberToTest
    {
        get
        {
            // Raise an exception if the operation failed or 
            // was canceled.
            RaiseExceptionIfNecessary();

            // If the operation was successful, return the 
            // property value.
            return numberToTestValue;
        }
    }

    public int FirstDivisor
    {
        get
        {
            // Raise an exception if the operation failed or 
            // was canceled.
            RaiseExceptionIfNecessary();

            // If the operation was successful, return the 
            // property value.
            return firstDivisorValue;
        }
    }

    public bool IsPrime
    {
        get
        {
            // Raise an exception if the operation failed or 
            // was canceled.
            RaiseExceptionIfNecessary();

            // If the operation was successful, return the 
            // property value.
            return isPrimeValue;
        }
    }
}
Public Class CalculatePrimeCompletedEventArgs
    Inherits AsyncCompletedEventArgs
    Private numberToTestValue As Integer = 0
    Private firstDivisorValue As Integer = 1
    Private isPrimeValue As Boolean


    Public Sub New( _
    ByVal numberToTest As Integer, _
    ByVal firstDivisor As Integer, _
    ByVal isPrime As Boolean, _
    ByVal e As Exception, _
    ByVal canceled As Boolean, _
    ByVal state As Object)

        MyBase.New(e, canceled, state)
        Me.numberToTestValue = numberToTest
        Me.firstDivisorValue = firstDivisor
        Me.isPrimeValue = isPrime

    End Sub


    Public ReadOnly Property NumberToTest() As Integer
        Get
            ' Raise an exception if the operation failed 
            ' or was canceled.
            RaiseExceptionIfNecessary()

            ' If the operation was successful, return 
            ' the property value.
            Return numberToTestValue
        End Get
    End Property


    Public ReadOnly Property FirstDivisor() As Integer
        Get
            ' Raise an exception if the operation failed 
            ' or was canceled.
            RaiseExceptionIfNecessary()

            ' If the operation was successful, return 
            ' the property value.
            Return firstDivisorValue
        End Get
    End Property


    Public ReadOnly Property IsPrime() As Boolean
        Get
            ' Raise an exception if the operation failed 
            ' or was canceled.
            RaiseExceptionIfNecessary()

            ' If the operation was successful, return 
            ' the property value.
            Return isPrimeValue
        End Get
    End Property
End Class

Devralanlara Notlar

Sınıfından AsyncCompletedEventArgs kendi sınıfınızı türetdiyseniz, salt okunur özellikleriniz özellik değerini döndürmeden önce yöntemini çağırmalıdır RaiseExceptionIfNecessary() . Bileşenin zaman uyumsuz çalışan kodu özelliğine Error bir özel durum atarsa veya özelliğini olarak Cancelledayarlarsatrue, istemci değerini okumaya çalışırsa özellik bir özel durum oluşturur. Bu, istemcilerin zaman uyumsuz işlemdeki bir hata nedeniyle geçerli olmayabilecek özelliklere erişmesini engeller.

Şunlara uygulanır

Ayrıca bkz.