j'ai une interface C# définie comme ceci:La méthode d'interface mise en œuvre et le passage à l'aide ByRef avec VB.NET
public interface IMenuSecurityService
{
void SetSecurityFlags(List<MenuItem> items);
}
J'ai besoin de mettre en œuvre cette interface dans une classe VB.NET. Lorsque j'implémente la méthode SetSecurityFlags avec le paramètre items passé en utilisant ByVal, il compile.
Public Sub SetSecurityFlags(ByVal items As List(Of L1.Common.Model.MenuItem)) Implements IMenuSecurityService.SetSecurityFlags
' Do some work
End Sub
Lorsque je tente de le mettre en œuvre avec le paramètre éléments transmis à l'aide ByRef, je reçois l'erreur du compilateur suivant:
Class 'UserRights' must implement 'Sub SetSecurityFlags(items As System.Collections.Generic.List(Of Model.MenuItem))' for interface
Public Sub SetSecurityFlags(ByRef items As List(Of L1.Common.Model.MenuItem)) Implements IMenuSecurityService.SetSecurityFlags
' Do some work
End Sub
Je ne peux pas sembler comprendre cela. Est-ce que VB.NET ne supporte pas cela ou est-ce que je fais quelque chose de mal?