1

我有一个后台工作者的子类。在 New 块中注册所有参数后,我想启动 RunWorkerAsync 方法。这会在以后给我带来麻烦和/或这是不好的做法吗?

        Public Sub New(ByVal theNum As Integer)
            _theNum = theNum
            Me.RunWorkerAsync() ' 自动开始运行;这会咬我吗?
        结束子

在这个子类的情况下,一旦工人被实例化,我就知道我希望工作立即开始。

4

1 回答 1

2

从设计的角度来看,我建议尽可能让构造函数不做任何实际工作。这样做的原因是因为在构造函数中工作可能会导致意外行为和一般错误。它还可以使您的代码不那么灵活,并且更难以进行单元测试。但这些建议适用于构造函数中完成的所有工作。它们并不专门适用于后台工作人员。就像任何格言一样,有时也会有例外。

从技术角度来看,只要您在调用设计器插入的InitializeComponent方法之后调用它,那么您就不应该有任何负面影响。

于 2013-09-13T15:10:37.363 回答