我希望安全地将对象从外部缓存转换为 Integer 类型。
我似乎可以这样做的唯一方法是在 try catch 块中,如下所示:
Try
Return Convert.ToInt32(obj)
Catch
'do nothing
End Try
我讨厌写这样的 catch 语句。
有没有更好的办法?
我努力了:
TryCast(Object, Int32)
不起作用(必须是引用类型)
Int32.TryParse(Object, result)
不起作用(必须是字符串类型)
更新
我喜欢 Jodrell 发表的评论——这将使我的代码看起来像这样:
Dim cacheObject As Object = GlobalCache.Item(key)
If Not IsNothing(cacheObject) Then
If TypeOf cacheObject Is Int32 Then
Return Convert.ToInt32(cacheObject)
End If
End If
'Otherwise get fresh data from DB:
Return GetDataFromDB