2016-07-28 67 views
0

我基於其他類創建類。我嘗試在其構造函數中爲該類分配一個值,但出現錯誤。將繼承值複製到基類

錯誤1'我'不能成爲任務的目標。

有沒有辦法解決它..?下面是我創建

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

你可以讓你的tabelDSN類是DataTable類的包裝一個代碼,通過移除繼承並添加私人的DataTable場舉行的構造函數的參數。代碼如下所示:

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