我目前使用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
字段总是以空字符串结尾(不是空值,因为它最初开始时为),但我知道getName
方法正在返回正确的字符串,因为我在调试过程中检查了它。如果我删除不需要的参数,则它按预期工作,并且Me._name获取返回的值。
为什么我能够通过一个参数,不应该有一个参数,并且不会在我的错误列表中显示任何错误?我在同事电脑上试过这个,他们得到了“太多争论”的错误。
看起来很奇怪..我也能够复制这个..没有错误。等待gud的解释.. –
我认为这可能与我在同一个解决方案中另一个项目中的另一个类中使用的共享(静态)方法有关。但更改共享方法的名称后,问题依然存在。 – BenM
这是像预定义的超载功能..但仍然很奇怪,因为返回类型是Char –