Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
El operador AddressOf
crea una instancia de delegado de procedimiento que hace referencia a un procedimiento específico. La sintaxis es la siguiente:
AddressOf procedurename
Insertó paréntesis alrededor del argumento que sigue a AddressOf
donde no se necesita ninguno.
Identificador de error: BC30577
Ejemplo
En el ejemplo siguiente, se genera el error BC30577:
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
Para corregir este error
Quite los paréntesis alrededor del argumento que sigue a
AddressOf
, tal como se muestra en el ejemplo siguiente: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
Asegúrese de que el argumento es un nombre de método.