假设我有一个控件和字符串的字典。如果我运行后台工作程序,使用控件引用来访问对应于控件的字符串是否可以安全线程?
Dictionary<Control, string> _ctlDict;
//Called in the main thread
public void Persist()
{
foreach (var control in Controls)
{
_ctlDict.Add(control, control.Name);
}
}
//Called in the background worker
public string GetControlName(Control ctl)
{
return _ctlDict[ctl];
}
这应该没问题,因为我没有使用任何控件的属性 - 我只是使用控件的引用,对吗?
答案 0 :(得分:1)
只要你不访问控件的属性或方法,是的,它是完全安全的。它只是一个对象引用,它指向一个控件无关紧要......
答案 1 :(得分:0)
唯一需要确定的是,不能同时调用Persist和GetControlName。