2010-03-03 39 views
2

我使用C#99%的時間工作。但是,我不得不更新一些傳統的VB.Net代碼,並遇到VB.Net代碼語法的問題。當我將鼠標懸停在「ByRef」上時,我得到的錯誤是「ByRef」下劃線,並顯示「Expected Expression」標籤。ByRef在VB.Net中嘗試傳入類型爲List(Of clsFooDetail)的對象時出現「Expression Expected」錯誤,下劃線爲

「FooDetail.Load」函數是用C#編寫的,期望一個List對象作爲參考傳遞。在其他C#類中使用相同的函數沒有任何問題。有人可以指出下面的VB.Net代碼有什麼問題。

Dim FooDetail As New clsFooDetail() 
FooDetail.FooID = FooID 
Dim lstFooDetail As New List(Of clsFooDetail) 
FooDetail.Load(ConnectionString, "Stored Procedure", ByRef lstFooDetail as System.Collection.List(Of(clsFooDetail)) 

回答

2

您不能在方法調用中聲明變量。你也不會使用「out」的等價物。當方法返回一個新列表時,不要使用「As New」。這樣寫:

Dim lstFooDetail As List(Of clsFooDetail) 
FooDetail.Load(ConnectionString, "Stored Procedure", lstFooDetail) 
+0

非常感謝您的洞察力。我已經嘗試了與你的第二行相同的內容,但是沒有意識到從第一行刪除「As New」。 – 2010-03-05 18:29:51

相關問題