我目前正在使用VB.NET,遇到了一个问题。这是我的类:
Public class foo
Private _bar As Integer
Private _name As String
Public Sub New(bar As Integer)
Me._bar = bar
Me._name = getName(bar) '//Passing in an argument where it is not needed
End Sub
Private Function getName() As String
'//Get name from database using _bar as a lookup(it's essentially a primary key)
'//Name is obtained successfully (checked when debugging)
'//Return name
End Function
End Class
我能够运行这段代码,尽管我在getName方法中传递了一个参数而它并没有声明任何参数。然而,当我运行它时,
Me._name
字段总是以空字符串结束(初始值为null),但是我知道getName
方法返回正确的字符串,因为我在调试期间检查了它。如果我删除多余的参数,那么它会按预期工作,Me._name
将获得返回的值。为什么我能够在不应该有参数的情况下传递参数,并且没有收到任何错误提示?我在同事的计算机上尝试了这个操作,他们收到了“参数过多”的错误提示。