Tipos Nullable

11/07/2007 - 16:50 por Clara | Informe spam
Hola,
tengo una duda:

Si tengo una propiedad en una clase definida así:

public Nullable<decimal> Propiedad {get {return _valor;} {set _valor =
value;}}

asignaciones del tipo:

decimal p = objecto.Propiedad; //dice que no puede convertir de decimal? a
decimal.
luego hago esto:
decimal p = (decimal)objecto.Propiedad;

Siempre hay que hacer el cast de un tipo nullable?

Gracias
 

Leer las respuestas

#1 Cholo Lennon
11/07/2007 - 18:02 | Informe spam
La forma correcta seria preguntando primero si el tipo no es null, de lo
contrario tu 'cast' generara una excepcion; puedes controlar todo con un
try-catch, pero veamos como evitarlo:

// 'decimal?' es equivalente a 'Nullable<decimal>'
decimal? prop = objecto.Propiedad;

// 'prop != null' es equivalente a 'prop.HasValue'
// 'prop.Value' es equivalente a '(decimal)prop'
decimal p = prop != null ? prop.Value : 0;

Salu2


Cholo Lennon
Bs.As.
ARG


"Clara" wrote in message
news:
Hola,
tengo una duda:

Si tengo una propiedad en una clase definida así:

public Nullable<decimal> Propiedad {get {return _valor;} {set _valor > value;}}

asignaciones del tipo:

decimal p = objecto.Propiedad; //dice que no puede convertir de decimal? a
decimal.
luego hago esto:
decimal p = (decimal)objecto.Propiedad;

Siempre hay que hacer el cast de un tipo nullable?

Gracias


Preguntas similares