VB.NET class inherits a base class and implements an interface issue (works in C#)

后端 未结 7 1713
后悔当初
后悔当初 2020-12-09 14:53

I am trying to create a class in VB.NET which inherits a base abstract class and also implements an interface. The interface declares a string property called Description. T

7条回答
  •  没有蜡笔的小新
    2020-12-09 15:29

    VB requires that the implementing property declare the implementation. This is because of what I actually consider a nice feature of VB that I sometimes miss in C# -- that you can rename the member that implements the interface member.

    Thus the only way to make this work without implementing IFoo.Description in FooBase is to declare Description Overridable and then define MyFoo as:

    Public Class MyFoo
        Inherits FooBase
        Implements IFoo
    
        Public Overrides Property Description() As String Implements IFoo.Description
            Get
                Return MyBase.Description
            End Get
            Set(ByVal value As String)
                MyBase.Description = value
            End Set
        End Property
    End Class
    

提交回复
热议问题