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