在 C# 中按名称查找后台工作线程对象
本文关键字:后台 工作 线程 对象 查找 | 更新日期: 2023-09-27 18:35:09
如何使用其名称查找后台工作人员的对象?对于控件,我可以使用 Find 根据控件的名称获取对控件的访问权限:
Control Control = this.Controls.Find(ControlName, true)[0];
后台工作者和/或计时器怎么样?控件。查找找不到它们。
这是不可能的,因为没有跟踪对后台工作线程或计时器的引用的公共对象。
您可以自行存储对所有后台工作线程的引用:
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 的引用,没有其他方法。