如何表示这个VB?

时间:2011-08-31 01:44:31

标签: c# vb.net linq

typeof(Nullable<>)

public static bool IsNullableType(Type t)
        {
            return t.IsGenericType && t.GetGenericTypeDefinition() == typeof(Nullable<>);
        }

我用它来检查Lambda Expression参数是否可以为空。

3 个答案:

答案 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/