Hola, estoy intentando hacer un tratamiento genérico de tipos y manejo de nulos en VB.NET pero no me apaño muy bien...
Quiero hacer una función, para usar con valores de campos (por ejemplo TextBox1.Text) que devuelva un valor por defecto si el campo esta vacio, p.ej:
IfNull(TextBox1.Text, 0) para un valor numérico o
IfNull(TextBox1.Text, "") para un String, etc. Pero me da excepción al intentar convertir un campo vacío en el Integer 0.
Código vb:
Ver originalFunction IfNull(ByRef valor As VariantType, ByVal defValor As VariantType)
Select VarType(valor)
Case VariantType.String
If valor = "" Then
Return defValor
Else
Return valor
End If
Case VariantType.Short
If valor = VariantType.Null Then
Return defValor
Else
Return valor
End If
Case Else
Return defValor
End Select
End Function
He visto
este enlace donde proponen el uso de
Is DBNull.Value pero me sigue dando excepción
¿Sabéis como resolver este tema o como comparar un valor vacío de un campo de texto con un número sin que de excepción?
Gracias