Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Odwołujesz się do zmiennej ReadOnly z poziomu wyrażenia lambda, które nie jest dozwolone. Poniższy kod powoduje ten błąd, wysyłając zmienną ReadOnly m jako argument do parametru ByRef .
Class Class1
ReadOnly m As Integer
Sub New()
' The use of m triggers the error.
Dim f = Function() Test(m)
End Sub
Function Test(ByRef n As Integer) As String
End Function
End Class
Identyfikator błędu: BC36602
Aby poprawić ten błąd
Jeśli to możliwe, zmień parametr
nw funkcjiTestnaByValparametr, jak pokazano w poniższym kodzie.Class Class1Fix1 ReadOnly m As Integer Sub New() Dim f = Function() Test(m) End Sub Function Test(ByVal n As Integer) As String End Function End ClassReadOnlyPrzypisz zmiennąmlokalną do zmiennej lokalnej w konstruktorze i użyj zmiennej lokalnej zamiastm, jak pokazano w poniższym kodzie.Class Class1Fix2 ReadOnly m As Integer Sub New() Dim temp = m Dim f = Function() Test(temp) End Sub Function Test(ByRef n As Integer) As String End Function End Class