У меня есть интерфейс C #, определенный так:
public interface IMenuSecurityService
{
void SetSecurityFlags(List<MenuItem> items);
}
Мне нужно реализовать этот интерфейс в классе VB.NET. Когда я реализую метод SetSecurityFlags с параметром items, переданным с помощью ByVal, он компилируется.
Public Sub SetSecurityFlags(ByVal items As List(Of L1.Common.Model.MenuItem)) Implements IMenuSecurityService.SetSecurityFlags
' Do some work
End Sub
Когда я пытаюсь реализовать его с помощью параметра items, переданного с помощью ByRef, я получаю следующую ошибку компилятора:
Класс «UserRights» должен реализовывать «Sub SetSecurityFlags (элементы как System.Collections.Generic.List (Of Model.MenuItem))» для интерфейса
Public Sub SetSecurityFlags(ByRef items As List(Of L1.Common.Model.MenuItem)) Implements IMenuSecurityService.SetSecurityFlags
' Do some work
End Sub
Я не могу понять это. VB.NET не поддерживает это или я делаю что-то не так?