ByRef souligné avec l'erreur « Expression attendue » dans VB.Net en essayant de passer dans un objet de type List (Of clsFooDetail)

StackOverflow https://stackoverflow.com/questions/2375846

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))
Était-ce utile?

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)
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top