ByRef подчеркивает ошибку «Expression Expected» в VB.Net при попытке передать объект типа List (Of clsFooDetail) - PullRequest
2 голосов
/ 04 марта 2010

Я работаю с C # 99% времени. Однако мне приходится обновлять некоторый устаревший код VB.Net, и возникает проблема с синтаксисом кода VB.Net. Я получаю сообщение об ошибке «ByRef», и при наведении курсора на «ByRef» появляется тег «Ожидаемое выражение».

Функция "FooDetail.Load" написана на C # и ожидает, что объект List передан как ссылка. Не испытывайте проблем с использованием той же функции в других классах C #. Может кто-то указать, что не так с кодом ниже 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))

1 Ответ

2 голосов
/ 04 марта 2010

Вы не можете объявить переменную в вызове метода. Вы также не используете эквивалент «вне». И не используйте «как новый», когда метод возвращает новый список. Напишите это так:

Dim lstFooDetail As List(Of clsFooDetail)
FooDetail.Load(ConnectionString, "Stored Procedure", lstFooDetail)
...