ByRef souligné avec l'erreur « Expression attendue » dans VB.Net en essayant de passer dans un objet de type List (Of clsFooDetail)
-
24-09-2019 - |
Question
Je travaille avec C # 99% du temps. Cependant, je vais avoir à mettre à jour un code de VB.Net existant et rencontrant un problème avec la syntaxe du code VB.Net. L'erreur que je reçois est tag « ByRef » est souligné et « Expression expected » apparaît lorsque vous passez la souris sur « ByRef ».
La fonction « FooDetail.Load » est écrit en C # et attend un objet Liste passé comme référence. Ne pas avoir de problème en utilisant la même fonction dans d'autres classes C #. Quelqu'un peut-il indiquer ce qui ne va pas avec le code ci-dessous 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))
La solution
Vous ne pouvez pas déclarer une variable dans un appel de méthode. Ni utilisez-vous l'équivalent de « out ». Et ne pas utiliser « comme neuf » lorsque la méthode retourne une nouvelle liste. Ecrire comme ceci:
Dim lstFooDetail As List(Of clsFooDetail)
FooDetail.Load(ConnectionString, "Stored Procedure", lstFooDetail)