コンストラクタ内のメソッドによって生成される次のプロパティを持つクラスがあります。クラスを継承せずにクラスのプロパティにアクセスする
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)
私は、多くのプログラムの中で一度だけロードする、このデータセットにアクセスする方法上の任意のアイデアクラス継承やグローバルモジュールを使用しないクラスVB.Netでのグローバルスコープの
クラスの目的は何ですか?グローバルモジュール(使用したくないモジュール)とはどのような違いがありますか? –
あなたは 'shared'にして[共有コンストラクタ](http://msdn.microsoft.com/en-us/library/aa711965%28v=vs.71%29.aspx)にロードすることができます。 –
Pavel - あなたの権利はありません。私はよりオブジェクト指向のプログラマーになるために自分自身を強制しようとしています –