a variável 'ReadOnly' não pode ser o destino de uma atribuição em uma expressão lambda dentro de um construtor
Chamado um ReadOnly variável de dentro de uma expressão lambda, o que não é permitida. O código a seguir causa esse erro, enviando a ReadOnly variável m sistema autônomo o argumento para um ByRef parâmetro.
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
ID de erro: BC36602
Para corrigir este erro
Se possível, altere o parâmetro n na função Test para um ByVal parâmetro, sistema autônomo mostra o código a seguir.
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 Class
Para corrigir este erro
Atribuir o ReadOnly variável m para uma variável local no construtor e usar a variável local no lugar de m, sistema autônomo mostra o código a seguir.
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