在 C# 中按名称查找后台工作线程对象

本文关键字:后台 工作 线程 对象 查找 | 更新日期: 2023-09-27 18:35:09

如何使用其名称查找后台工作人员的对象?对于控件,我可以使用 Find 根据控件的名称获取对控件的访问权限:

Control Control = this.Controls.Find(ControlName, true)[0];

后台工作者和/或计时器怎么样?控件。查找找不到它们。

在 C# 中按名称查找后台工作线程对象

这是不可能的,因为没有跟踪对后台工作线程或计时器的引用的公共对象。

您可以自行存储对所有后台工作线程的引用:

public static List<BackgroundWorkers> Workers {get; set;}
static()
{
    Workers = new List<BackgroundWorkers>();
}
创建辅助角色

时保存对辅助角色的引用:

BackgroundWorker worker = new BackgroundWorker();
Workers.Add(worker);

您还可以通过将工作人员存储在Dictionary<string, BackgroundWorker>中为每个工作人员指定名称

BackgroundWorker worker = new BackgroundWorker();
Workers.Add("workerName", worker);
BackgroundWorker myWorker = Workers["workerName"];

没有办法做到这一点,只需保留对你的 BackgroundWorkers 的引用,没有其他方法。