トップ回答者
Property について

質問
-
現在このようなプロパティーを作成したいと思っています。(処理はクラスに記入したいです。)
フォームで***クラスを定義して使用したいと思います。(同じ項目でBODYもあります。)
プロパティー(すべてリードオンリー)
***.HEAD.TIME.SAKUSEI
***.HEAD.TIME.SAKUJYO
***.HEAD.TIME.KOUSIN
***.HEAD.NAME
***.HEAD.PATH
***.HEAD.KANRYOUFLG.SOUSIN
***.HEAD.KANRYOUFLG.ASSYUKU
***.HEAD.KANRYOUFLG.SAKUJYO
処理
***.HEAD.SUB.KOUSIN
***.HEAD.SUB.ASSYUKU
***.HEAD.SUB.SAKUJYO
***.HEAD.SUB.SOUSIN
プロパティーにプロパティーを定義するなどしたのですが、これが複雑になったり、サブフォームがフォーム側から定義できたりして挫折。
Structure を使用したらいい感じにフォームから参照はできるのですが。クラス側で値をどう定義したらよいか不明です。(下記がコードです)
したいことは、処理の結果をプロパティーに反映し、プロパティーで確認できるようにしたいです。
フォーム側では値の変更はできないが、現在の状況を確認することと、クラスを通して処理を行うことができるようにしたいです。
Public ReadOnly Property HEAD() As Data
Get
Return ?
End Get
End Property
Public Structure Data
Public Time As Kata
Public Name As String
Public Path As String
Public KANRYOUFLG As 省略
End Structure
Public Structure Kata
Public SAKUSEI As String
Public SAKUJYO As String
Public KOUSIN As String
End Structure
VB2005の環境です。すいませんがアドバイスお願いします。
回答
-
Friend Class xxxx Private C_Data As New ClassData Private C_Sub As New ClassSub(C_Data) Private C_TIME As New ClassTIME(C_Data) Friend ReadOnly Property NAME() As String Get Return C_Data.NAME End Get End Property Friend ReadOnly Property SUBx() As ClassSub Get Return C_Sub End Get End Property Friend ReadOnly Property TIME() As ClassTIME Get Return C_TIME End Get End Property Friend Class ClassTIME Private data As ClassData Public ReadOnly Property SAKUSEI() As String Get Return data.SAKUSEI End Get End Property Public ReadOnly Property SAKUJYO() As String Get Return data.SAKUJYO End Get End Property Public Sub New(ByVal c_Data As ClassData) data = c_Data End Sub End Class Friend Class ClassSub Private data As ClassData Friend Sub SAKUSEI() data.SAKUSEI = "作成" End Sub Friend Sub SAKUJYO() data.SAKUJYO = "削除" End Sub Friend Sub NAME() data.NAME = "名前" End Sub Public Sub New(ByVal c_Data As ClassData) data = c_Data End Sub End Class Friend Class ClassData Friend SAKUSEI As String Friend SAKUJYO As String Friend NAME As String End Class End Class
色々なクラスからデータを参照したいので、データのクラスを作ります。
はずれてたら、すみません。- 回答としてマーク sk7474 2009年2月23日 9:06
すべての返信
-
Friend Class xxxx Private C_Data As New ClassData Private C_Sub As New ClassSub(C_Data) Private C_TIME As New ClassTIME(C_Data) Friend ReadOnly Property NAME() As String Get Return C_Data.NAME End Get End Property Friend ReadOnly Property SUBx() As ClassSub Get Return C_Sub End Get End Property Friend ReadOnly Property TIME() As ClassTIME Get Return C_TIME End Get End Property Friend Class ClassTIME Private data As ClassData Public ReadOnly Property SAKUSEI() As String Get Return data.SAKUSEI End Get End Property Public ReadOnly Property SAKUJYO() As String Get Return data.SAKUJYO End Get End Property Public Sub New(ByVal c_Data As ClassData) data = c_Data End Sub End Class Friend Class ClassSub Private data As ClassData Friend Sub SAKUSEI() data.SAKUSEI = "作成" End Sub Friend Sub SAKUJYO() data.SAKUJYO = "削除" End Sub Friend Sub NAME() data.NAME = "名前" End Sub Public Sub New(ByVal c_Data As ClassData) data = c_Data End Sub End Class Friend Class ClassData Friend SAKUSEI As String Friend SAKUJYO As String Friend NAME As String End Class End Class
色々なクラスからデータを参照したいので、データのクラスを作ります。
はずれてたら、すみません。- 回答としてマーク sk7474 2009年2月23日 9:06