ByRef unterstrichen mit „Expression Expected“ Fehler in VB.Net, wenn in einem Objekt vom Typ List (Of clsFooDetail) passieren versucht,

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

Frage

Ich arbeite mit C # 99% der Zeit. Aber ich habe einige legacy VB.Net Code und Begegnung ein Problem mit VB.Net Code-Syntax zu aktualisieren. Der Fehler, dass ich erhalte, ist „ByRef“ ist unterstrichen und „Expected Ausdruck“ Tag zeigt sich, wenn Sie schweben über „ByRef“.

Der „FooDetail.Load“ -Funktion ist in C # geschrieben und erwartet ein List-Objekt als Referenz übergeben. Haben keine Probleme die gleiche Funktion in anderen C # -Klassen verwenden. Kann jemand zeigen, was mit unter VB.Net Code falsch ist.

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))
War es hilfreich?

Lösung

Sie können nicht eine Variable in einem Methodenaufruf deklarieren. Noch müssen Sie das Äquivalent von „out“ verwenden. Und verwenden Sie nicht „A New“, wenn die Methode eine neue Liste zurück. Schreiben Sie es wie folgt aus:

Dim lstFooDetail As List(Of clsFooDetail)
FooDetail.Load(ConnectionString, "Stored Procedure", lstFooDetail)
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top