テーブルとデータ行に次の構造があります。
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#でも追加できますが、問題ありません;)