Principales respuestas
Se puede comprobar si un elemento de una estructura se inicializó con algún valor? (explico)

Pregunta
-
Si declaro:
Structure Propiedades
Dim Destino As String
Dim Parametros As StringEnd Sructure
Y luego declaro y asigno:
Sub Inicializar
Dim P as Propiedades
P.Destino = "D:\UnArchivo.txt"
End Sub
Y al otro elemento de la estructura (Parametros) no le asigno ningún valor, hay forma de comprobar si a un determinado elemento se le asignó o no un valor?
- Editado James2016-2 domingo, 30 de julio de 2017 22:33
Respuestas
-
Hola
Para que tu código quede mas prolijo puedes declarar el Structure en una clase a nivel de NameSpace y así poder utilizarlo desde donde lo necesites.
Structure Propiedades Public Shared Destino As String Public Shared Parametros As String End Structure Public Class MyClase End Class
Lo usas de la siguiente manera
Propiedades.Destino = "D:\UnArchivo.txt"
Lo validas
If String.IsNullOrEmpty(Propiedades.Destino) Then MessageBox.Show("Variable vacia") End If
Saludos
Pedro Ávila
"El hombre sabio querrá estar siempre con quien sea mejor que él."
Lima - Perú
- Editado Pedro Ávila domingo, 30 de julio de 2017 23:59
- Marcado como respuesta James2016-2 lunes, 31 de julio de 2017 0:02
-
Hola James:
Te comento que los parámetros del tipo string, son parámetros de referencia de tipo y su valor por defecto (sin asignar) es nulo entonces para la validación sugerida por Pedro no seria del todo correcta puesto ¿que sucedería si al parámetro con nombre Parametros (recomendaría usar un nombre mas apropiado al dato que almacenara esta propiedad) le asignas un valor "string.Emtpy"? la validación de Pedro dirá que no a sido asignado cuando en realidad si lo hiciste, le asignaste el valor por defecto del tipo de dato, pero al final se lo asignaste tu, entonces, ¿Como validar si el parámetro del tipo string fue asignado? simplemente pregunta por Nothig.
If(Propiedades.Parametros Is Nothing) Then 'Cualquier cosa que quieras hacer Else 'Cualquier cosa que harias si Parametros es diferente a Nothing End If
Espero que la información te sea de utilidad
Saludos desde Monterrey, Nuevo León, México!!!
- Marcado como respuesta James2016-2 martes, 1 de agosto de 2017 2:40
Todas las respuestas
-
Hola
Para que tu código quede mas prolijo puedes declarar el Structure en una clase a nivel de NameSpace y así poder utilizarlo desde donde lo necesites.
Structure Propiedades Public Shared Destino As String Public Shared Parametros As String End Structure Public Class MyClase End Class
Lo usas de la siguiente manera
Propiedades.Destino = "D:\UnArchivo.txt"
Lo validas
If String.IsNullOrEmpty(Propiedades.Destino) Then MessageBox.Show("Variable vacia") End If
Saludos
Pedro Ávila
"El hombre sabio querrá estar siempre con quien sea mejor que él."
Lima - Perú
- Editado Pedro Ávila domingo, 30 de julio de 2017 23:59
- Marcado como respuesta James2016-2 lunes, 31 de julio de 2017 0:02
-
-
Hola James:
Te comento que los parámetros del tipo string, son parámetros de referencia de tipo y su valor por defecto (sin asignar) es nulo entonces para la validación sugerida por Pedro no seria del todo correcta puesto ¿que sucedería si al parámetro con nombre Parametros (recomendaría usar un nombre mas apropiado al dato que almacenara esta propiedad) le asignas un valor "string.Emtpy"? la validación de Pedro dirá que no a sido asignado cuando en realidad si lo hiciste, le asignaste el valor por defecto del tipo de dato, pero al final se lo asignaste tu, entonces, ¿Como validar si el parámetro del tipo string fue asignado? simplemente pregunta por Nothig.
If(Propiedades.Parametros Is Nothing) Then 'Cualquier cosa que quieras hacer Else 'Cualquier cosa que harias si Parametros es diferente a Nothing End If
Espero que la información te sea de utilidad
Saludos desde Monterrey, Nuevo León, México!!!
- Marcado como respuesta James2016-2 martes, 1 de agosto de 2017 2:40
-