Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Aggiornamento: novembre 2007
'ReadOnly' variable cannot be the target of an assignment in a lambda expression inside a constructor
È stato fatto riferimento a una variabile ReadOnly dall'interno di un'espressione lambda ma tale operazione non è consentita. Nel codice seguente viene generato questo errore inviando la variabile ReadOnlym come argomento a un parametro 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
ID errore: BC36602
Per correggere l'errore
Se possibile, modificare il parametro n nella funzione Test con un parametro ByVal, come mostrato nel codice seguente.
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
Per correggere l'errore
Assegnare la variabile ReadOnlym a una variabile locale nel costruttore e utilizzare la variabile locale al posto di m, come mostrato nel codice seguente.
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