bool IsNotNullableValueType(Type type) { if (type.IsValueType == false) { return false; } if (type.IsGenericType == false) { return true; } var definition = type.GetGenericTypeDefinition(); return definition != typeof (Nullable<>); }