したがって、私のクラス「myInfo」には、クラスとしてのプロパティであるエイリアス化されたプロパティ「HeaderInfo」があります。実際には、はるかに深いクラスのヘッダーです。
Private _header As myHeader
Public Property HeaderInfo() AS myHeader
Get
Return _header
End Get
Set(ByVal value As myHeader)
_header = value
Someotherclass.Foo.Bar.AnotherThing.Header = _header
End Set
End Property
myHeader は、すべて文字列である「名前」、「ID」などのプロパティを持つクラスです。したがって、Windows フォームなどでこのプロパティを参照するときは、
Dim info As New myInfo()
info.HeaderInfo.ID = "ID HERE"
info.HeaderInfo.Name = "Name here"
info.HeaderInfo のインスタンスがすべてのプロパティを正しく設定している範囲で機能しますが、
Someotherclass.Foo.Bar.AnotherThing.Header = _header
プロパティを直接設定していないため、myInfo.HeaderInfo 'Set' 内で設定されることはありません。伝播すると仮定して、そのサブプロパティを設定しています。カスタム タイプのプロパティがどのように機能するか理解していませんか? これを広める方法はありますか?