VB.NET抽象属性

时间:2013-11-01 15:47:05

标签: vb.net

我有一个抽象的“GridBase”类,它有两种类型的派生类“DetailGrid”和“HeaderGrid”。

分别由“DetailRow”对象和其他“HeaderRow”对象组成。这两个都继承自“RowBase”抽象类。

我要做的是以下内容:

Public MustInherit Class GridBase
    Private pRows As List(Of RowBase)

    Public ReadOnly Property Rows As List(Of RowBase)
        Get
            Return pRows
        End Get
    End Property
End Class

Public Class DetailGrid
    Inherits GridBase
End Class

在这种情况下,我希望DetailGrid.Rows返回DetailRow列表。我希望HeaderRow.Rows返回HeaderRow列表。我是否在正确的轨道上或者Rows属性不应该包含在GridBase类中?

1 个答案:

答案 0 :(得分:3)

如果您想要更强的打字保证,那么您可能需要:

Public MustInherit Class GridBase(Of T as RowBase)
    Private pRows As List(Of T)

    Public ReadOnly Property Rows As List(Of T)
        Get
            Return pRows
        End Get
    End Property
End Class

Public Class DetailGrid
    Inherits GridBase(Of DetailRow)
End Class