Так что в моем классе 'myInfo' у меня есть свойство aliased '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 Forms, я
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', потому что я не устанавливаю свойство напрямую, я устанавливаю его подзадачи в предположении, что он будет распространяться. Разве я не понимаю, как работают свойства с настраиваемым типом? Есть ли способ распространять это?
Вы можете назначить 'myHeader' из' info' 'Someotherclass.Foo.Bar.AnotherThing.Header' после того, как вы установите свойства в' info', например. 'Someotherclass.Foo.Bar.AnotherThing.Header = info.HeaderInfo' –
@JohnWillemse Да, я думаю, что я это сделаю. Я пытаюсь сделать это в конструкторе myInfo, поэтому он будет действовать как ссылка, но, похоже, это не работает. –
Нет, конструктор вызывается перед установкой свойств, и вы остаетесь с той же проблемой. Просто «скопируйте» информацию заголовка после установки свойств. –