- - PR -
継承元と集約(?)関係にあるクラスのメンバへのアクセスは?
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2008-04-16 12:03
失礼いたします。
'継承元クラス********************************************** Public Class Moto Inherits OOMoto Private Shared cSawariTai As New SawariTai Public Shared ReadOnly Property gSawaruzo() As SawariTai Get Return cSawariTai End Get End Property End Class '継承先クラス********************************************* Public Class Saki1 Inherits Moto Private Shared sukiKatte As String Public Shared Property gSukiKatte() As String Get Return sukiKatte End Get Set(ByVal value As String) sukiKatte= value End Set End Property End Class '継承元と集約関係のクラス********************************** Public Class Sawaritai Private Shared koreSawaritai As String Public Shared Property gsDouzoSawatte() As String Get Return koreSawaritai End Get Set(ByVal value As String) koreSawaritai = value End Set End Property '実際に使うクラス****************************************** Public Class Negai ・・・・・・ Saki1.gSukiKatte = "つんつん" Saki1.gSawaruzo.douzoSawatte = "ぷにぷに" '*ダメ* Saki1,Saki2・・・・・には必ずMotoのメンバがあり、 Moto(OOMotoを継承)には必ずSawaritaiのメンバがあります。 Negaiにおいて Saki1.gSawaruzo.gsDouzoSawatteのところで、 'インスタンスを経由する共有メンバ、定数メンバ、列挙型メンバ、または入れ子に された型へのアクセスです。正規の式は評価されません' とでます。 確かに言われてることはわかります。 プログラム設計の質問なのですが、 この場合(件名の事をしたい場合)は 直接 Sawaritai.gsDouzoSawatte = "ぷにぷに" とするしかないでしょうか? それならgSawaruzoは不要になりますよね? ならcSawariTai As New SawariTaiも・・・ MotoとSawaritaiの表現をどうすればいいのでしょうか? ご教授願います。 [ メッセージ編集済み 編集者: 108 編集日時 2008-04-16 12:05 ] | ||||
|
投稿日時: 2008-04-16 12:38
まず一つお聞きしたいです。
サンプルに Shared が頻出していますが、何故 Shared にしているのでしょうか? | ||||
|
投稿日時: 2008-04-16 13:50
ありがとうございます。 メインのフォームの部品のプロパティとして、 その値を保存しておき、メインフォームから開く ダイアログなど他複数クラスからもその値を参照・更新などしたいためです。 あと、ただ変数を返すだけなのにプロパティにする必要はないのでしょうか。 |
1