DotNet · 2022年5月2日

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 DoubleByVal 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)

才会正确使用第一个方法,得出预期值

最新电影,电视剧,尽在午夜剧场

电影电视剧午夜不寂寞