typeof(Nullable<>)
public static bool IsNullableType(Type t)
{
return t.IsGenericType && t.GetGenericTypeDefinition() == typeof(Nullable<>);
}
我用它来检查Lambda Expression参数是否可以为空。
答案 0 :(得分:4)
您无需自行执行此操作 - 如果您传递的类型不可为空,则可以使用Nullable.GetUnderlyingType
返回Nothing
/ null
:
Public Shared Function IsNullable(t as Type) As Boolean
Return Nullable.GetUnderlyingType(t) IsNot Nothing
End Function
(但如果你真的需要一个开放的泛型类型,那么GetType(Nullable(Of))
就可以了。如果你需要多个类型参数,只需用逗号分隔它们,例如GetType(Dictionary(Of ,))
。)
答案 1 :(得分:0)
(t.GetGenericTypeDefinition() Is GetType(Nullable(Of )))
答案 2 :(得分:0)
Public Shared Function IsNullableType(t As Type) As Boolean
Return t.IsGenericType AndAlso t.GetGenericTypeDefinition() = GetType(Nullable(Of ))
End Function
使用以下免费工具进行转换: http://www.developerfusion.com/tools/convert/csharp-to-vb/