【问题标题】:Copy Inherits Value to Base Class将继承值复制到基类
【发布时间】:2016-07-28 01:44:00
【问题描述】:

我创建一个基于其他类的类。我试图在其构造函数中为类分配一个值,但得到一个错误。

错误 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  

【问题讨论】:

  • 您必须将源表中的数据复制到当前表中。想想你试图执行的代码实际上做了什么。 Me 是当前对象,那么当前对象如何将另一个对象分配给它自己呢?这意味着当前对象必须神奇地变成另一个对象,这没有意义。你能神奇地变成另一个人,还是你必须将其他人的特征应用到自己身上?是后者,所以这也是这里必须发生的事情。

标签: vb.net


【解决方案1】:

您可以使您的 tabelDSN 类成为 DataTable 类的包装器,方法是删除 Inherits 并添加一个私有 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  

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-06
    • 2020-01-03
    • 2014-04-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多