我有一个用C#编写的Windows窗体应用程序。 main_form类实例化一个名为AccessProcessWorker的AccessProcess,该类是从BackgroundWorker继承的类,然后main_form然后使用以下代码初始化Process

        AccessProcessWorker.DoWork += new DoWorkEventHandler(processWorker.worker_DoWork);
        AccessProcessWorker.RunWorkerCompleted += new RunWorkerCompletedEventHandler(processWorkerCompleted);
        AccessProcessWorker.ProgressChanged += new ProgressChangedEventHandler(processProgressChanged);


此应用程序刚刚从POC转到“使其快速运行”。

我编写了此应用程序以用于Access数据库,但现在想使其与MS Sql兼容,但是保留了也可以对Access进行操作的选项。因此,我可以做一些丑陋的事情,例如根据用户选择的UI实例化并初始化SqlProcessWorker或AccessProcessWorker。但是我想做的是使main_form总是创建类似IProcess的东西,因此我不必在每次有新的ProcessWorker时都向main_form添加逻辑。我设计中的问题是,按照我的描述进行初始化时,初始化会中断。

如果有人有任何想法或需要进一步说明,请告诉我。

最佳答案

您所寻找的被称为“依赖注入”。

10-05 19:27