ByRef sublinhado com erro “Expression Expected” em VB.Net ao tentar passar um objeto do tipo List(Of clsFooDetail)
-
24-09-2019 - |
Pergunta
Eu trabalho com C# 99% do tempo.No entanto, estou tendo que atualizar algum código VB.Net herdado e encontrar um problema com a sintaxe do código VB.Net.O erro que recebo é que "ByRef" está sublinhado e a tag "Expressão Esperada" aparece quando você passa o mouse sobre "ByRef".
A função "FooDetail.Load" é escrita em C# e espera um objeto List passado como referência.Não tenha problemas para usar a mesma função em outras classes C#.Alguém pode indicar o que há de errado com o código VB.Net abaixo.
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))
Solução
Você não pode declarar uma variável em uma chamada de método.Você também não usa o equivalente a "out".E não use “As New” quando o método retornar uma nova lista.Escreva assim:
Dim lstFooDetail As List(Of clsFooDetail)
FooDetail.Load(ConnectionString, "Stored Procedure", lstFooDetail)
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow