因此,在我的類'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'中,因爲我沒有直接設置屬性,我設置它的子屬性假設它會傳播。我不理解具有自定義類型的屬性是如何工作的?有沒有辦法傳播這個?
在'info'中設置屬性後,您可以將'myHeader'從'info'分配給'Someotherclass.Foo.Bar.AnotherThing.Header'。 'Someotherclass.Foo.Bar.AnotherThing.Header = info.HeaderInfo' – 2013-02-13 14:54:17
@JohnWillemse是的,我想我會那樣做。我正在嘗試在myInfo的構造函數中執行此操作,因此它只是作爲參考,但似乎並沒有明顯地以這種方式工作。 – 2013-02-13 15:02:53
不,在您設置屬性之前調用構造函數,並且您留下了相同的問題。一旦屬性被設置,只需「複製」標題信息。 – 2013-02-13 15:04:43