La clase VB.NET hereda una clase base e implementa un problema de interfaz (funciona en C #)

Estoy tratando de crear una clase en VB.NET que hereda una clase abstracta base y también implementa una interfaz. La interfaz declara una propiedad de cadena llamada Descripción. La clase base contiene una propiedad de cadena llamada Descripción. La clase principal hereda la clase base e implementa la interfaz. La existencia de la propiedad Descripción en la clase base cumple los requisitos de la interfaz. Esto funciona bien en C # pero causa problemas en VB.NET.

Primero, aquí hay un ejemplo del código C # que funciona:

public interface IFoo
{
    string Description { get; set; }
}

public abstract class FooBase
{
    public string Description { get; set; }
}

public class MyFoo : FooBase, IFoo
{
}

Ahora aquí está la versión VB.NET que da un error de compilación:

Public Interface IFoo
    Property Description() As String
End Interface

Public MustInherit Class FooBase
    Private _Description As String
    Public Property Description() As String
        Get
            Return _Description
        End Get
        Set(ByVal value As String)
            _Description = value
        End Set
    End Property
End Class

Public Class MyFoo
    Inherits FooBase
    Implements IFoo
End Class

Si hago la clase base (FooBase) implementa la interfaz y agrega elImplements IFoo.Description para la propiedad todo está bien, pero no quiero que la clase base implemente la interfaz.

El error del compilador es:

La clase 'MyFoo' debe implementar 'Descripción de la propiedad () como cadena' para la interfaz 'IFoo'. La propiedad de implementación debe tener especificadores coincidentes 'ReadOnly' o 'WriteOnly'.

¿Puede VB.NET no manejar esto, o necesito cambiar mi sintaxis en algún lugar para que esto funcione?

Respuestas a la pregunta(7)

Su respuesta a la pregunta