将0转换为通用枚举

时间:2013-09-12 15:08:38

标签: vb.net enums

如果按功能找不到合适的枚举,我需要从函数返回默认枚举。

如果我假设默认枚举编号为0,我该怎么做?

VB不允许我将0转换为T甚至转换为GetType(T)

我试过了:

Return CType(0, T)
Return CType(0, GetType(T))
Return DirectConvert(0, T)

等...

感谢您的帮助!

1 个答案:

答案 0 :(得分:3)

相信 VB中的Nothing与C#中的default(T)类似,所以您应该可以使用:

Return Nothing

这肯定适用于我的示例代码:

Option Strict On

Imports System

Public Class Test
    Public Shared Sub Main()        
        Console.WriteLine(Foo(Of DayOfWeek)().ToString)
    End Sub

    Public Shared Function Foo(Of T) () As T
        Return Nothing
    End Function
End Class