vb.net中调用重载方法,直接使用Nothing,出现匹配未预期结果
有如下2个方法定义
Public Sub setValue(ByVal pValue As Nullable(Of Double), ByVal pTime As DateTime)
End Sub
Public Sub setValue(ByVal pValue As Double, ByVal pTime As DateTime)
End Sub
如使用如下方法调用:
Me.xMass.setValue(Nothing, DateTime.Now)
按一般理解,以为会使用第一个方法,但实际上确调用第2个方法,并自动设置pValue值为0,此时出现不可预期错误
如果如下方法使用
Dim p1 As Double? = Nothing
Me.xMass.setValue(p1, DateTime.Now)
才会正确使用第一个方法,得出预期值