Я ищу способ получить значение свойства во время или после подстроки New(). В общем, хотя я хотел бы знать, есть ли способ вызвать некоторый код автоматически после того, как класс имеет все свойства его свойств полностью инициированы.Квалифицировать свойства класса во время/после конструктора (Sub New)
В свойствах Sub New() устанавливаются их начальные значения, а не те, которые установлены во время разработки.
По существу, мне интересно, возможно ли установить что-то похожее на событие «Форма показано», за исключением классов.
Код:
Public Class Test
inherits Component
Public Event Initiated()
Public Sub New()
MyBase.New()
RaiseEvent Initiated()
End Sub
Private Sub OnInitiated() Handles Me.Initiated
Debug.WriteLine(Max)
End Sub
Private _Max As Integer = 5
Public Property Max() As Integer
Get
Return _Max
End Get
Set(ByVal Value As Integer)
_Max = Value
End Set
End Property
End Class
Примечание: Значение свойства "Max" установлен на 3 с точки зрения дизайна.
Предполагается, что это работает в режиме разработки и в самом исполняемом файле правильно? По какой-то причине код, который у меня был установлен, не показывал первые несколько раз, когда программа запускалась. Как ни странно, после его восстановления в другой раз он работает. Интересно, что это такое, поскольку я не изменил ничего связанного с этим после перестройки ...? В любом случае, большое спасибо! –
он будет запускаться каждый раз во время выполнения и когда код разработчика обновляется/перестраивается (например, при открытии конструктора форм, в котором размещается ваш компонент); вы можете добавить 'Console.Beep' в EndInit, чтобы почувствовать. Если вы внесете изменения в компонент, вам захочется перестроить и даже очистить часто, чтобы убедиться, что VS использует правильный код. – Plutonix
@MakoInfused существует также версия на основе событий под названием 'ISupportInitializeNotification' - обратите внимание, что либо можно« просачивать »вниз события, либо уведомления на вспомогательные объекты, чтобы инициализировать материал, а также – Plutonix