我有一个Background worker的子类。在New块中注册所有参数后,我想启动RunWorkerAsync方法。这会不会给我带来麻烦和/或这是不好的做法?
Public Sub New(ByVal theNum As Integer) _theNum = theNum Me.RunWorkerAsync() ' automatically start running; will this bite me? End Sub
在这个子类的情况下,只要工人被实例化,我就知道我想立即开始工作。
答案 0 :(得分:2)
从设计的角度来看,我建议保持构造函数尽可能不做任何实际工作。原因是因为构造函数中的工作可能导致意外行为和一般错误。它还可以使您的代码不那么灵活,并且更难以进行单元测试。但这些建议适用于构造函数中完成的所有工作。它们并不专门适用于背景工作者。就像任何格言一样,有时会出现例外规则。
从技术角度来看,只要在调用设计器插入的InitializeComponent
方法后调用它,那么就不应该有任何负面影响。