Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在VB.NET中将类型从可为null转换为不可为null?_Vb.net_Generics_Nullable_Non Nullable - Fatal编程技术网

如何在VB.NET中将类型从可为null转换为不可为null?

如何在VB.NET中将类型从可为null转换为不可为null?,vb.net,generics,nullable,non-nullable,Vb.net,Generics,Nullable,Non Nullable,现在,我有一个可为null的泛型类型,我可以检查它是否为null。但是,我找不到从中获取不可为null的类型的方法。以下是我想做的: If Nullable.GetUnderlyingType(nullableType) IsNot Nothing Then Dim nonNullableType As Type = GetNonNullableType(nullableType) End if 例如,如果nullableType是Date?,我希望“GetNonNullableTyp

现在,我有一个可为null的泛型类型,我可以检查它是否为null。但是,我找不到从中获取不可为null的类型的方法。以下是我想做的:

If Nullable.GetUnderlyingType(nullableType) IsNot Nothing Then
    Dim nonNullableType As Type = GetNonNullableType(nullableType)
End if

例如,如果nullableType是Date?,我希望“GetNonNullableType”函数返回日期。如果它是Integer?,函数将返回Integer。

根据Fabio的建议,我还可以使用null.getUnderlineType函数来获取不可为null的类型,因此它将是:

Dim nonNullableType As Type = Nullable.GetUnderlyingType(nullableType)

你说的是
类型
还是
<代码>可为空。GetUnderlyingType将返回基础类型(如果日期?-返回日期)。为什么你不能用它?啊。谢谢你指出。我真的不知道这个函数是如何工作的。我之所以知道如何检查它是否为空,是因为我只是在互联网上搜索并复制到我的代码中。你可以否决我愚蠢的问题——————