我的表和数据行具有以下结构:
Public Class MyDataTable(Of MyDataRowDerived)
Public Class MyDataRowBase(Of DataRow)
Public Property MyDescription As String
Public Class MyDataRowDerived(Of MyDataRowBase)
inherits MyDataRowBase
Public overrides Property MyDescription As String
如果我从我的表中创建一行,它属于该类型MyDataRowDerived
,但我不想在其上使用被覆盖的属性,而只使用基类中的普通属性。并试图以这种方式实现它:
Dim row As MyDataRowBase = CType(myTable.AddNew(), MyDataRowBase)
Dim retrievedDescription = row.MyDescription
我坚持这种方式,我会强迫对象相信它只是基类,但它仍在使用我的 devired 类的属性。
我的对象返回的描述是在派生类中实现的,但我需要来自基类的描述
也可以在 C# 中添加解决方案,这没问题;)