Foros del Web » Programación para mayores de 30 ;) » .NET »

[SOLUCIONADO] Incomprensible: variable no está declarada

Estas en el tema de Incomprensible: variable no está declarada en el foro de .NET en Foros del Web. Trabajo con Visual Studio 2015 en .NET: Tengo este pequeño trozo de código, como veis es muy sencillo: Código: private function Comparar() as boolean Dim ...
  #1 (permalink)  
Antiguo 18/05/2017, 05:54
 
Fecha de Ingreso: julio-2003
Ubicación: España
Mensajes: 723
Antigüedad: 14 años, 2 meses
Puntos: 0
Incomprensible: variable no está declarada

Trabajo con Visual Studio 2015 en .NET:

Tengo este pequeño trozo de código, como veis es muy sencillo:

Código:
private function Comparar() as boolean

Dim Valor1 As String = "pepe"
Dim Valor2 As String = "pepe"

If Not Valor1.Equals(Valor2) Then
      Return True
End If

return true

end function
¿Porqué me devuelve siempre 'True'?

En tiempo de compilación abriendo una ventana de inspección me dice que:

'error BC30451: 'Valor1' no está declarado. Puede que sea inaccesible debido a su nivel de protección'

Pero compila perfectamente.

Creo que se le va la olla al compilador, he probado a limpiar la solución, eliminé la carpeta 'obj' y 'bin' y no se me ocurre qué más hacer...

¿Alguna solución?

Saludos y gracias.
__________________
Solo nosotros podemos decidir qué hacer con el tiempo que se nos ha dado. (Gandalf)

Última edición por DjNelson; 18/05/2017 a las 08:37
  #2 (permalink)  
Antiguo 18/05/2017, 08:40
 
Fecha de Ingreso: julio-2003
Ubicación: España
Mensajes: 723
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: Incomprensible: variable no está declarada

Ya encontré el problema:

La función siempre devuelve true así que mientras estoy debugeando el compilador ya se mete directamente por el primer Return True y sale de la función aunque no sea coherente, supongo que piensa así: "Si siempre voy a devolver true para qué continuar..."

si al final pongo "Return False" ya funciona:

Código:
private function Comparar() as boolean

Dim Valor1 As String = "pepe"
Dim Valor2 As String = "pepe"

If Not Valor1.Equals(Valor2) Then
      Return True
End If

return False

end function
Qué tontería! Pero mientras se está debugeando ya podía llegar al final de la función en vez de atrancarme el cerebro que llevo todo el puto día dándole vueltas...

Saludos!
__________________
Solo nosotros podemos decidir qué hacer con el tiempo que se nos ha dado. (Gandalf)



La zona horaria es GMT -6. Ahora son las 07:12.