Determine if a generic param is a Nullable type

One way is:

If Nullable.GetUnderlyingType(GetType(TData)) <> Nothing

… at least, the C# is:

if (Nullable.GetUnderlyingType(typeof(TData)) != null)

That’s assuming you’re asking whether it’s a nullable value type. If you’re asking whether it’s a nullable value type or a class then the C# version would be:

if (default(TData) == null)

but I’m not sure whether a simple VB translation would work there, as “Nothing” is slightly different in VB.

Leave a Comment