BC30577: 'AddressOf' işleneni bir yöntemin adı olmalıdır (parantez olmadan)

işleci, AddressOf belirli bir yordama başvuran bir yordam temsilcisi örneği oluşturur. Söz dizimi aşağıdaki gibidir:

AddressOf procedurename

Aşağıdaki AddressOfbağımsız değişkenin etrafına parantezler eklemişsinizdir, burada gerekli değildir.

Hata Kimliği: BC30577

Örnek

Aşağıdaki örnek bc30577 oluşturur:

Public Sub CountZeroToTen()
    For i = 0 To 10
        Console.WriteLine($"Counted: {i}")
        Threading.Thread.Sleep(500)
    Next
End Sub

Sub Main()
    ' Any of the following two lines generates bc30577.
    'Dim t As New Threading.Thread(AddressOf(CountZeroToTen))
    'Dim t As New Threading.Thread(AddressOf CountZeroToTen())
    t.Start()
End Sub

Bu hatayı düzeltmek için

  1. Aşağıdaki örnekte gösterildiği gibi bağımsız değişkenin AddressOf etrafındaki parantezleri kaldırın:

    Public Sub CountZeroToTen()
        For i = 0 To 10
            Console.WriteLine($"Counted: {i}")
            Threading.Thread.Sleep(500)
        Next
    End Sub
    
    Sub Main()
        Dim t As New Threading.Thread(AddressOf CountZeroToTen)
        t.Start()
    End Sub
    
  2. Bağımsız değişkeninin bir yöntem adı olduğundan emin olun.

Ayrıca bakınız