Absolutamente - Utilización Nullable.GetUnderlyingType
:
if (Nullable.GetUnderlyingType(propertyType) != null)
{
// It's nullable
}
Tenga en cuenta que este utiliza la clase estática no genérico System.Nullable
en lugar de la estructura genérica Nullable<T>
.
También tenga en cuenta que los que comprobará si representa una específica (cerrado) anulable tipo de valor ... no va a funcionar si se utiliza en un genérico tipo , por ejemplo,
public class Foo<T> where T : struct
{
public Nullable<T> Bar { get; set; }
}
Type propertyType = typeof(Foo<>).GetProperty("Bar").PropertyType;
// propertyType is an *open* type...
Comprobar si un tipo es 'anulable '? Si es así, eche un vistazo a http://stackoverflow.com/questions/374651/how-to-check-if-an-object-is-nullable –