3
我目前正在和一個老的api做鬥爭,而且我面臨以下問題:當我嘗試將對象數組強制轉換爲對象數組時,我得到了運行時異常日期。將對象強制轉換爲可空對象的對象()
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
第一個演員正在工作,但不是第二個。如何成功投射到對象數組?我不能使用CType(val, IEnumerable(Of Nullable(Of DateTime)))
,因爲函數可能會得到其他類型的數組。
檢查[這](HTTP://計算器.COM /問題/ 4632313/CAS t-object-to-ienumerableobject)答案。顯然你可以投到'IEnumerable'而不是通用版本。 – Laoujin