gpt4 book ai didi

vb.net - 如何在对象的构造函数完成后立即触发事件?

转载 作者:行者123 更新时间:2023-12-01 15:11:49 25 4
gpt4 key购买 nike

研究告诉我,从构造函数本身引发事件是不可行的,因为对象可能未完全初始化...那么一旦构造函数被触发,我可以从哪里触发事件?

最佳答案

您可以做的一件事是添加一个方法来处理额外的 post ctor 任务:

Friend Class FooBar

Public Sub New
' your code here
End Sub

Public Sub Create
' do anything you want
End Sub

End Class

其他地方:

Friend WithEvents Foo As Foobar

' ...
Foo = New FooBar ' Foo doesnt exist until ctor code executes and the
' code returns to here.

Foo.Create ' do whatever you like, as long as any other
' objects referenced have been created.

从 ctor 调用 sub 来引发事件的原因不适用于类是这样的:

Private Sub SomeEvent(sender As Object, e As EventArgs) Handles Foo.SomeEvent
Console.Beep()
End Sub

关键是Handles Foo.SomeEvent

还没有 Foo 来处理这个事件。它不会崩溃并且会引发事件,但是监听器没有对象来捕获/处理事件。在 InitializeComponents 中创建了足够多的表单,它确实与表单一起工作。

可能还有一个接口(interface)来实现这样的东西,我知道一些用于组件,但不是类。

关于vb.net - 如何在对象的构造函数完成后立即触发事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23552030/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com