ByRef sottolineato con “Expression atteso” Errore in VB.Net quando si cerca di passare in un oggetto di tipo List (Of clsFooDetail)

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

Domanda

Io lavoro con C # il 99% del tempo. Tuttavia, sto avendo un po 'di aggiornare il codice legacy VB.Net e incontrando un problema con la sintassi del codice VB.Net. L'errore che ottengo è "ByRef" è sottolineato e "Espressione prevista" mostra tag up quando si passa sopra "ByRef".

La funzione "FooDetail.Load" è scritto in C # e si aspetta un oggetto List passato come riferimento. Non hanno alcun problema utilizzando la stessa funzione in altre classi C #. Qualcuno può indicare ciò che è sbagliato con il sottostante Codice 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))
È stato utile?

Soluzione

Non è possibile dichiarare una variabile in una chiamata di metodo. Né si usa l'equivalente di "out". E non usare "come nuovo", quando il metodo restituisce un nuovo elenco. Scrivere in questo modo:

Dim lstFooDetail As List(Of clsFooDetail)
FooDetail.Load(ConnectionString, "Stored Procedure", lstFooDetail)
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top