0

我有一个类,它具有由构造函数中的方法生成的以下属性。

Public Class clsLoadTables
    Private _ds As New DataSet
    Public Property ds() As DataSet
        Get
            Return _ds
        End Get
        Set(ByVal value As DataSet)
            _ds = value
        End Set
    End Property

    Sub New()

        Try
            loadCSVTableII()
            loadXMLFiles(pathMainTable, "MainRMDTable")
            loadXMLFiles(pathBeneLifeExp, "pathBeneLifeExp")
        Catch ex As Exception
            MessageBox.Show(ex.Message)
            Throw
        End Try

    End Sub

End Class

我的问题是我不想继承这个类,但是我有其他类需要访问 ds DataSet 属性。如果可能的话,我不想使用继承,也不想在程序中多次加载我的数据表。

这是我尝试访问未继承 clsLoadTables 的另一个类中的属性失败:

        Dim tableRow As DataRow = ds.Tables("MainRMDTable").Select(String.Format("age={0}",  age.ToString()))(0)

关于如何访问这个数据集的任何想法,我只想从许多类的程序中加载一次,而不使用类继承或全局模块?

4

3 回答 3

3

您将它作为公共属性,因此如果您有对 clsLoadTables 类的实例的引用,您应该能够访问它。

Dim foo As New clsLoadTables

Dim tableRow As DataRow = foo.ds.Tables("MainRMDTable").Select(String.Format("age={0}",  age.ToString()))(0)
于 2012-04-07T00:45:23.290 回答
1

对于 VB.Net 中的全局范围,使用带有 PUBLIC 变量和 PUBLIC 方法或友变量的 MODULE

公共 _ds 作为新数据集

或者

Friend _ds 作为新数据集

希望我没有误解你的问题..

于 2012-04-07T00:38:16.000 回答
1

通常我为这样的事情所做的只是_ds在你的类中进行更改,并在第一次访问你的属性shared时加载数据。get

于 2012-04-07T14:34:09.303 回答