我創建了下面的擴展方法的變量:會話使用的擴展方法
<System.Runtime.CompilerServices.Extension()> _
Public Function ToIntegerOrDefault(ByVal valueToParse As Object, Optional ByVal defaultValue As Integer = 0) As Integer
Dim retVal As Integer = 0
If Not Integer.TryParse(valueToParse.ToString, retVal) Then
retVal = defaultValue
End If
Return retVal
End Function
,我想利用這個擴展方法上的會話變量像這樣:
ReadOnly Property NodeID As Integer
Get
Return Session(SessionVariables.SELECTED_NODE_ID).ToIntegerOrDefault()
End Get
End Property
但是,在設置會話變量之前調用該方法後,會出現NullReferenceException
消息Object variable or With block variable not set.
是否有安全的方式來利用以這種方式在會話變量上擴展方法(假定會話變量可能爲空)?
你的代碼看起來很好,你的會話密鑰是否有效? –
我會查看該值是否爲空。 –