如何在VB.NET中将类型从可为null转换为不可为null?
现在,我有一个可为null的泛型类型,我可以检查它是否为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
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将返回基础类型(如果日期?-返回日期)。为什么你不能用它?啊。谢谢你指出。我真的不知道这个函数是如何工作的。我之所以知道如何检查它是否为空,是因为我只是在互联网上搜索并复制到我的代码中。你可以否决我愚蠢的问题——————