私は現在、古い API と戦っていて、次の問題に直面しています: 値が null 可能な日付の場合に、オブジェクトをオブジェクトの配列にキャストしようとすると、実行時例外が発生します。
Module Module1
Sub Main()
Console.WriteLine(Misc.dateCast(New Nullable(Of DateTime)()))
Console.WriteLine(Misc.tabledateCast(New Nullable(Of DateTime)() {New DateTime()}))
End Sub
End Module
Module Misc
Function dateCast(ByVal val As Nullable(Of DateTime)) As Object
Return CType(val, Object)
End Function
Function tabledateCast(ByVal val As Object) As Object()
Return CType(val, IEnumerable(Of Object)).Cast(Of Object).ToArray
End Function
End Module
最初のキャストは機能しますが、2 番目のキャストは機能しません。オブジェクトの配列に正常にキャストする方法は?
CType(val, IEnumerable(Of Nullable(Of DateTime)))
関数が他の型の配列を取得する可能性があるため、使用できません。