説明で正しいものが見つからない場合は、関数からデフォルトの列挙型を返す必要があります。
デフォルトの列挙型の番号が 0 であると仮定すると、どうすればこれを行うことができますか?
VB では 0 を T に、または に変換することさえできませんGetType(T)
。
私が試してみました:
Return CType(0, T)
Return CType(0, GetType(T))
Return DirectConvert(0, T)
等...
助けてくれてありがとう!
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