1

説明で正しいものが見つからない場合は、関数からデフォルトの列挙型を返す必要があります。

デフォルトの列挙型の番号が 0 であると仮定すると、どうすればこれを行うことができますか?

VB では 0 を T に、または に変換することさえできませんGetType(T)

私が試してみました:

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

等...

助けてくれてありがとう!

4

1 に答える 1

3

VBはC#Nothingと同様に機能すると思い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
于 2013-09-12T15:11:31.190 に答える