agosto 04, 2006

Tipo Nullables en net 2.0

Hace unos días mi amigo Orlando hizo un procedimiento en visual basic net que leía un datareader, extraía los valores y éstos los pasaba a una función que los recibía para hacer un insert. Él me preguntaba como podia pasar un valor nulo como parámetro a una función y yo le conteste que eso no era posible porque lo que lo que él estaba pasando eran valores a variables escalares y no objetos.

Él necesitaba pasar un valor nulo a su función cuando el datareader que el leía contenía un nulo. Al dia siguiente encontré el concepto de valores nulables soportados por el framework 2.0 y esta es la forma en que se pueden utilizar.

'Asignar un valor nulo al tipo escalar
Dim booleanoNulo as Nullable(Of Boolean) = Nothing
Dim IntegerNulo As Nullable(Of Integer) = 34
'Llamar al método.
valor(booleanoNulo , IntegerNulo )

'Se puede usar la propiedad HasValue de los tipos nullables para preguntar si la variable tiene o no un valor asignado. A continuación se muestra una función que recibe tipos de datos escalares con valores nulos.

Private Sub valor(ByVal booleanoNulo As Nullable(Of Boolean), ByVal IntegerNulo As Nullable(Of Integer))

If booleanoNulo.HasValue() Then
'Asignar Valor.
MessageBox.Show(booleanoNulo.Value)
Else
MessageBox.Show("No existe valor x asignar entonces insertar System.DbNull.Value.")
End If

End sub

No hay comentarios.: