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.
Una instrucción intenta asignar un valor a una expresión. Puede asignar un valor solo a una variable, propiedad o elemento de matriz editable en tiempo de ejecución. En el ejemplo siguiente, se muestra cómo se puede producir este error.
Dim yesterday As Integer
ReadOnly maximum As Integer = 45
yesterday + 1 = DatePart(DateInterval.Day, Now)
' The preceding line is an ERROR because of an expression on the left.
maximum = 50
' The preceding line is an ERROR because maximum is declared ReadOnly.
Algunos ejemplos similares podrían aplicarse a propiedades y elementos de matriz.
Acceso indirecto. El acceso indirecto a través de un tipo de valor también puede generar este error. Considere el ejemplo de código siguiente, en el que se intenta establecer el valor de Point accediendo indirectamente a él a través de Location.
' Assume this code runs inside Form1.
Dim exitButton As New System.Windows.Forms.Button()
exitButton.Text = "Exit this form"
exitButton.Location.X = 140
' The preceding line is an ERROR because of no storage for Location.
En la última instrucción del ejemplo anterior se genera un error porque crea solo una asignación temporal para la estructura Point que la propiedad Location devuelve. Una estructura es un tipo de valor y la estructura temporal no se conserva después de que se ejecuta la instrucción. Para resolver el problema, declare y utilice una variable para Location, lo que crea una asignación más permanente para la estructura Point. En el ejemplo siguiente, se muestra el código que puede reemplazar la última instrucción del ejemplo anterior.
Dim exitLocation as New System.Drawing.Point(140, exitButton.Location.Y)
exitButton.Location = exitLocation
Identificador de error: BC30068
Para corregir este error
Si la instrucción asigna un valor a una expresión, reemplace la expresión por una variable, propiedad o elemento de matriz editable único.
Si la instrucción realiza el acceso indirecto a través de un tipo de valor (por lo general, una estructura), cree una variable para contener el tipo de valor.
Asigne la estructura adecuada (u otro tipo de valor) a la variable.
Use la variable para acceder a la propiedad para asignarle un valor.