我目前使用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 –