2016-07-28 3 views
0

私は他のクラスに基づいてクラスを作成します。クラスにそのコンストラクタの値を代入しようとしていますが、エラーが発生します。コピーベースクラスに値を継承

エラー1「Me」を割り当ての対象にすることはできません。

これを解決する方法はありますか?ここでは、継承を削除し、コンストラクタのパラメータを保持するために、民間のDataTableフィールドを追加することによって、あなたのtabelDSNクラスは、DataTableのクラスのラッパーも作ることができ、私は

Public Class tabelDSN 
    Inherits DataTable 
    Public Sub New(ByVal dt As DataTable) 
     Me = dt.Copy() 
    End Sub 
    Default Public ReadOnly Property rw(ByVal idx) As DataRow 
     Get 
      Return Me.Rows(idx) 
     End Get 
    End Property 
End Class 
+0

ソーステーブルのデータを現在のテーブルにコピーする必要があります。実際に実行しようとしているコードが何であるか考えてみてください。 'Me'は現在のオブジェクトなので、どのようにして現在のオブジェクトが別のオブジェクトを自分自身に割り当てることができますか?これは、現在のオブジェクトが魔法のように別のオブジェクトになる必要があり、意味をなさないことを意味します。あなたは魔法のように別の人になることができますか、または他の人の特質を自分自身に適用する必要がありますか?それは後者なので、ここでも起こる必要があります。 – jmcilhinney

答えて

1

を作成したコードです。コードは次のようになります。

Public Class tabelDSN 
    Private _dt as DataTable 
    Public Sub New(ByVal dt As DataTable) 
     _dt = dt.Copy() 
    End Sub 
    Default Public ReadOnly Property rw(ByVal idx) As DataRow 
     Get 
      Return _dt.Rows(idx) 
     End Get 
    End Property 
End Class